ledoit_wolf#

sklearn.covariance.ledoit_wolf(X, *, assume_centered=False, block_size=1000)#

估计收缩的Ledoit-Wolf协方差矩阵。

更多信息请参阅 用户指南

Parameters:
X形状为 (n_samples, n_features) 的类数组对象

从中计算协方差估计的数据。

assume_centeredbool, 默认=False

如果为True,数据在计算前不会被中心化。 适用于均值显著等于零但不是精确为零的数据。 如果为False,数据将在计算前被中心化。

block_sizeint, 默认=1000

协方差矩阵将被分成的块的大小。 这纯粹是一种内存优化,不影响结果。

Returns:
shrunk_cov形状为 (n_features, n_features) 的ndarray

收缩的协方差。

shrinkagefloat

在用于计算收缩估计的凸组合中使用的系数。

Notes

正则化(收缩)协方差为:

(1 - shrinkage) * cov + shrinkage * mu * np.identity(n_features)

其中 mu = trace(cov) / n_features

Examples

>>> import numpy as np
>>> from sklearn.covariance import empirical_covariance, ledoit_wolf
>>> real_cov = np.array([[.4, .2], [.2, .8]])
>>> rng = np.random.RandomState(0)
>>> X = rng.multivariate_normal(mean=[0, 0], cov=real_cov, size=50)
>>> covariance, shrinkage = ledoit_wolf(X)
>>> covariance
array([[0.44..., 0.16...],
       [0.16..., 0.80...]])
>>> shrinkage
0.23...