美洲组织#
- sklearn.covariance.oas(X, *, assume_centered=False)[源代码]#
使用Oracle逼近收缩估计协方差。
阅读更多的 User Guide .
- 参数:
- X形状类似阵列(n_samples,n_features)
计算协方差估计值的数据。
- assume_centered布尔,默认=假
如果为True,则数据在计算前不会集中。对于处理均值明显等于零但不完全为零的数据很有用。如果为假,则在计算之前将数据集中。
- 返回:
- shrunk_cov形状类似阵列(n_features,n_features)
缩小协方差。
- shrinkage浮子
Coefficient in the convex combination used for the computation of the shrunk estimate.
注意到
正规化协方差是:
(1 -收缩) * cov + shrinkage * μ * NP. identification(n_features),
其中mu = trace(cov)/ n_features,收缩率由OAS公式给出(参见 [1]) .
此处实施的收缩公式与Eq不同。23在 [1]. 在原文中,公式(23)规定2/p(p是特征数量)在分子和分母中都乘以Trace(cov*cov),但省略了此操作,因为对于大p,2/p的值太小了,不会影响估计器的值。
引用
示例
>>> import numpy as np >>> from sklearn.covariance import oas >>> rng = np.random.RandomState(0) >>> real_cov = [[.8, .3], [.3, .4]] >>> X = rng.multivariate_normal(mean=[0, 0], cov=real_cov, size=500) >>> shrunk_cov, shrinkage = oas(X) >>> shrunk_cov array([[0.7533..., 0.2763...], [0.2763..., 0.3964...]]) >>> shrinkage np.float64(0.0195...)