2.6. 协方差估计(Covariance estimation)
许多统计问题需要估计总体的协方差矩阵(population’s covariance matrix),这可以看作是对数据集散点图形状的估计。大多数情况下,这样的估计必须对其性质(大小、结构、同质性)对估计质量有很大影响的样本进行。sklearn.covariance 包提供了在各种设置下精确估计总体协方差矩阵的工具。
我们假设观测值是独立且同分布的(i.i.d.)。
2.6.1. 经验协方差(Empirical covariance)
已知数据集的协方差矩阵被经典的最大似然估计(或“经验协方差”)很好地逼近,前提是与特征(描述观测值的变量)的数量相比,观测值的数量足够大。更准确地说,样本的最大似然估计是对应总体协方差矩阵的无偏估计(unbiased estimator)。
可以使用包的empirical_covariance函数计算样本的经验协方差矩阵,或者使用EmpiricalCovariance.fit方法将 EmpiricalCovariance 对象与数据样本拟合。请注意,结果取决于数据是否聚集(centered),因此可能需要准确地使用 assume_centered 参数。更准确地说,如果 assume_centered=False,那么测试集应该与训练集具有相同的平均向量。如果不是,则两者都应由用户聚集,并应使用 assume_centered=True 。
示例:
2.6.2. 收缩协方差(Shrunk Covariance)
2.6.2.1. 基本收缩(Basic shrinkage)
尽管极大似然估计是协方差矩阵的无偏估计,但它不是协方差矩阵特征值的一个很好的估计,因此由其求逆得到的精度矩阵是不精确的。有时,由于数值原因,甚至出现经验协方差矩阵不能求逆的情况。为了避免这种问题,引入了经验协方差矩阵的一种变换:shrinkage(收缩)。
在scikit-learn中,此变换(具有用户定义的收缩系数)可直接应用于使用shrunk_covariance方法预先计算的协方差。此外,协方差的收缩估计器(shrunk estimator)可以用ShrunkCovariance对象及其 ShrunkCovariance.fit方法拟合数据。同样,结果取决于数据是否聚集,因此可能需要准确地使用 assume_centered 参数。
从数学上讲,这种收缩包括减小经验协方差矩阵的最小特征值和最大特征值之间的比率。这可以通过简单地根据给定的偏移量