ledoit_wolf_shrinkage (Ledoit-Wolf 收缩估计)#

sklearn.covariance.ledoit_wolf_shrinkage(X, assume_centered=False, block_size=1000)[source]#

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

更多信息请参见 用户指南

参数:
Xarray-like of shape (n_samples, n_features)

用于计算Ledoit-Wolf收缩协方差收缩的数据。

assume_centeredbool, default=False

如果为True,则在计算之前不会对数据进行中心化。这对于处理均值几乎等于零但不完全等于零的数据很有用。如果为False,则在计算之前会对数据进行中心化。

block_sizeint, default=1000

协方差矩阵将被分割成的块的大小。

返回值:
shrinkagefloat

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

备注

正则化(收缩)协方差为

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

其中 mu = trace(cov) / n_features

示例

>>> import numpy as np
>>> from sklearn.covariance import ledoit_wolf_shrinkage
>>> 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)
>>> shrinkage_coefficient = ledoit_wolf_shrinkage(X)
>>> shrinkage_coefficient
np.float64(0.23...)