机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
很多统计问题要求总体协方差阵的点估计,大多数情况下,估计是由样本得到的,而样本的属性(大小、结构、同质性)对估计质量有很大的影响。sklearn.covariance
包旨在提供不同情况下协方差阵的准确估计。估计前,我们假设样本是独立同分布的。
经验协方差
一个数据集的协方差阵的经典的估计来自最大似然估计量,或称经验协方差。使用包的empirical_covariance
函数计算最大似然估计,具体是用EmpiricalCovariance.fit
方法在数据样本上拟合EmpiricalCovariance对象。数据集是否中心化,结果将不同。你可以设置中心化参数assume_centered.
缩水协方差
有时由于数值的原因,经验协方差并不是可逆的。为了避免不可逆的问题,提出了经验协方差的转换:shrinkage
.
在scikit-learn里,通过shrunk_covariance
方法,转换可以直接应用到计算的协方差上。而且,用ShrunkCovariance对象的ShrunkCovariance.fit方法,一个协方差阵的缩水估计量能够拟合到数据上。结果也会因为数据集是否中心化而不同,使用参数assume_centered设置。
数学上,缩水是由减小经验协方差阵的最大特征值和最小特征值的比率组成。
Σ s h r u n k = ( 1 − α ) Σ ^ + α