graphical_lasso#

sklearn.covariance.graphical_lasso(emp_cov, alpha, *, mode='cd', tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, return_costs=False, eps=np.float64(2.220446049250313e-16), return_n_iter=False)[Quelle]#

L1-penalisierter Kovarianz-Schätzer.

Lesen Sie mehr im Benutzerhandbuch.

Geändert in Version v0.20: graph_lasso wurde in graphical_lasso umbenannt

Parameter:
emp_covarray-like von Form (n_features, n_features)

Empirische Kovarianz, aus der die Kovarianzschätzung berechnet werden soll.

alphafloat

Der Regularisierungsparameter: Je höher alpha, desto mehr Regularisierung, desto spärlicher die inverse Kovarianz. Bereich ist (0, inf].

mode{‘cd’, ‘lars’}, Standardwert=’cd’

Der zu verwendende Lasso-Solver: Coordinate Descent oder LARS. Verwenden Sie LARS für sehr spärliche zugrunde liegende Graphen, wo p > n. Ansonsten ist cd vorzuziehen, da es numerisch stabiler ist.

tolfloat, Standard=1e-4

Die Toleranz, um die Konvergenz zu deklarieren: Wenn die duale Lücke unter diesen Wert fällt, werden die Iterationen gestoppt. Bereich ist (0, inf].

enet_tolfloat, Standardwert=1e-4

Die Toleranz für den Elastic-Net-Solver, der zur Berechnung der Abstiegsrichtung verwendet wird. Dieser Parameter steuert die Genauigkeit der Suchrichtung für eine gegebene Spaltenaktualisierung, nicht der gesamten Parameterschätzung. Wird nur für mode=’cd‘ verwendet. Bereich ist (0, inf].

max_iterint, default=100

Die maximale Anzahl von Iterationen.

verbosebool, default=False

Wenn verbose True ist, werden die Zielfunktion und der duale Abstand in jeder Iteration ausgegeben.

return_costsbool, Standardwert=False

Wenn return_costs True ist, werden die Zielfunktion und der duale Abstand in jeder Iteration zurückgegeben.

epsfloat, Standardwert=eps

Die Regularisierung der Maschinengenauigkeit bei der Berechnung der Cholesky-Diagonalfaktoren. Erhöhen Sie dies für sehr schlecht konditionierte Systeme. Standard ist np.finfo(np.float64).eps.

return_n_iterbool, Standard=False

Ob die Anzahl der Iterationen zurückgegeben werden soll oder nicht.

Gibt zurück:
covariancendarray von Form (n_features, n_features)

Die geschätzte Kovarianzmatrix.

precisionndarray von Form (n_features, n_features)

Die geschätzte (spärliche) Präzisionsmatrix.

costsListe von Paaren (Zielfunktion, dualer Abstand)

Die Liste der Werte der Zielfunktion und der dualen Lücke bei jeder Iteration. Wird nur zurückgegeben, wenn return_costs True ist.

n_iterint

Anzahl der Iterationen. Wird nur zurückgegeben, wenn return_n_iter auf True gesetzt ist.

Siehe auch

GraphicalLasso

Schätzung der dünnen Kovarianz mit einem l1-penalisierten Schätzer.

GraphicalLassoCV

Sparse inverse Kovarianz mit kreuzvalidierter Wahl des l1-Penalties.

Anmerkungen

Der zur Lösung dieses Problems verwendete Algorithmus ist der GLasso-Algorithmus aus der Friedman 2008 Biostatistics Publikation. Es ist derselbe Algorithmus wie im R-Paket glasso.

Ein möglicher Unterschied zum R-Paket glasso besteht darin, dass die Diagonalkoeffizienten nicht bestraft werden.

Beispiele

>>> import numpy as np
>>> from sklearn.datasets import make_sparse_spd_matrix
>>> from sklearn.covariance import empirical_covariance, graphical_lasso
>>> true_cov = make_sparse_spd_matrix(n_dim=3,random_state=42)
>>> rng = np.random.RandomState(42)
>>> X = rng.multivariate_normal(mean=np.zeros(3), cov=true_cov, size=3)
>>> emp_cov = empirical_covariance(X, assume_centered=True)
>>> emp_cov, _ = graphical_lasso(emp_cov, alpha=0.05)
>>> emp_cov
array([[ 1.687,  0.212, -0.209],
       [ 0.212,  0.221, -0.0817],
       [-0.209, -0.0817, 0.232]])