shrunk_covariance#
- sklearn.covariance.shrunk_covariance(emp_cov, shrinkage=0.1)[源代码]#
计算对角线上缩小的协方差矩阵。
阅读更多的 User Guide .
- 参数:
- emp_cov阵列状的形状(.,n_特征,n_特征)
协方差矩阵要缩小,至少是2D ndray。
- shrinkagefloat,默认=0.1
用于计算缩小估计值的凸组合中的系数。范围 [0, 1] .
- 返回:
- shrunk_covnd数组形状(.,n_特征,n_特征)
缩小协方差矩阵。
注意到
正规化(缩小)协方差由下式给出::
(1 - shrinkage) * cov + shrinkage * mu * np.identity(n_features)
哪里
mu = trace(cov) / n_features
.示例
>>> import numpy as np >>> from sklearn.datasets import make_gaussian_quantiles >>> from sklearn.covariance import empirical_covariance, shrunk_covariance >>> real_cov = np.array([[.8, .3], [.3, .4]]) >>> rng = np.random.RandomState(0) >>> X = rng.multivariate_normal(mean=[0, 0], cov=real_cov, size=500) >>> shrunk_covariance(empirical_covariance(X)) array([[0.73..., 0.25...], [0.25..., 0.41...]])