使用 Scikit-Learn 进行协方差矩阵估计

Beginner

This tutorial is from open-source community. Access the source code

简介

协方差估计是一种重要的统计技术,用于估计总体的协方差矩阵。协方差矩阵描述了数据集中变量之间的关系,并能为数据的散点图形状提供有价值的见解。在本实验中,我们将探索使用 Python 中的 sklearn.covariance 包估计协方差矩阵的各种方法。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。

经验协方差

经验协方差矩阵是一种常用的估计数据集协方差矩阵的方法。它基于最大似然估计原理,并假设观测值是独立同分布的(i.i.d.)。sklearn.covariance 包中的 empirical_covariance 函数可用于计算给定数据集的经验协方差矩阵。

from sklearn.covariance import empirical_covariance

## 计算经验协方差矩阵
covariance_matrix = empirical_covariance(data)

收缩协方差

最大似然估计器虽然无偏,但可能无法准确估计协方差矩阵的特征值,从而导致结果不准确。为了缓解这个问题,人们采用了一种称为收缩的技术。收缩降低了经验协方差矩阵最小和最大特征值之间的比率,提高了估计的准确性。sklearn.covariance 包提供了一个 ShrunkCovariance 类,可用于将收缩估计器拟合到数据上。

from sklearn.covariance import ShrunkCovariance

## 创建一个 ShrunkCovariance 对象并将其拟合到数据上
shrunk_estimator = ShrunkCovariance().fit(data)

## 计算收缩协方差矩阵
shrunk_covariance_matrix = shrunk_estimator.covariance_

莱多伊特 - 沃尔夫收缩法

莱多伊特 - 沃尔夫收缩法提供了一个最优收缩系数,该系数能使估计的协方差矩阵与真实协方差矩阵之间的均方误差最小化。sklearn.covariance 包包含一个 ledoit_wolf 函数,可用于为给定数据集计算莱多伊特 - 沃尔夫估计器。

from sklearn.covariance import ledoit_wolf

## 计算协方差矩阵的莱多伊特 - 沃尔夫估计器
ledoit_wolf_covariance_matrix = ledoit_wolf(data)[0]

稀疏逆协方差

稀疏逆协方差估计,也称为协方差选择,旨在估计一个稀疏精度矩阵,其中协方差矩阵的矩阵逆表示偏相关矩阵。sklearn.covariance 包包含一个 GraphicalLasso 类,用于使用 l1 惩罚来估计稀疏逆协方差矩阵。

from sklearn.covariance import GraphicalLasso

## 创建一个 GraphicalLasso 对象并将其拟合到数据上
graphical_lasso = GraphicalLasso().fit(data)

## 计算稀疏逆协方差矩阵
sparse_inverse_covariance_matrix = graphical_lasso.precision_

稳健协方差估计

现实世界中的数据集通常包含异常值或测量误差,这些会对估计的协方差矩阵产生显著影响。稳健协方差估计方法,如最小协方差行列式(MCD),可用于处理此类情况。sklearn.covariance 包提供了一个 MinCovDet 类来计算 MCD 估计值。

from sklearn.covariance import MinCovDet

## 创建一个 MinCovDet 对象并将其拟合到数据上
min_cov_det = MinCovDet().fit(data)

## 计算稳健协方差矩阵
robust_covariance_matrix = min_cov_det.covariance_

总结

协方差估计是一种用于估计数据集协方差矩阵的基本统计技术。在本实验中,我们使用 Python 中的 sklearn.covariance 包探索了各种协方差估计方法。我们涵盖了经验协方差估计、收缩技术、稀疏逆协方差估计和稳健协方差估计。根据数据集的特征和分析的特定要求选择合适的方法至关重要。