shrunk_covariance#
- sklearn.covariance.shrunk_covariance(emp_cov, shrinkage=0.1)[source]#
计算对角线收缩的协方差矩阵。
在用户指南中阅读更多。
- 参数:
- emp_cov形状为 (…, n_features, n_features) 的类数组
要收缩的协方差矩阵,至少为 2D ndarray。
- shrinkage浮点数,默认值=0.1
用于计算收缩估计的凸组合中的系数。范围为 [0, 1]。
- 返回:
- shrunk_cov形状为 (…, n_features, n_features) 的 ndarray
收缩协方差矩阵。
注意
正则化(收缩)协方差由以下公式给出:
(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.739, 0.254], [0.254, 0.411]])