Ledoit-Wolf 方法#
- sklearn.covariance.ledoit_wolf(X, *, assume_centered=False, block_size=1000)[source]#
- 估计收缩的 Ledoit-Wolf 协方差矩阵。 - 更多信息请阅读 用户指南。 - 参数:
- X形状为 (n_samples, n_features) 的类数组
- 用于计算协方差估计的数据。 
- assume_centered布尔值,默认为 False
- 如果为 True,则在计算之前不会对数据进行中心化。这对于处理平均值近似等于零但并不完全等于零的数据很有用。如果为 False,则在计算之前会对数据进行中心化。 
- block_size整数,默认为 1000
- 协方差矩阵将被分割成的块的大小。这纯粹是内存优化,不会影响结果。 
 
- 返回:
- shrunk_cov形状为 (n_features, n_features) 的 ndarray
- 收缩的协方差。 
- shrinkage浮点数
- 用于计算收缩估计的凸组合中的系数。 
 
 - 备注 - 正则化(收缩)协方差为 - (1 - 收缩因子) * 协方差矩阵 + 收缩因子 * μ * np.identity(n_features) - 其中 μ = trace(协方差矩阵) / n_features - 示例 - >>> 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 np.float64(0.23...) 
 
    