1. 程式人生 > >【Scikit-Learn 中文文件】二十四:協方差估計 / 經驗協方差 / 收斂協方差 / 稀疏逆協方差 / Robust 協方差估計

【Scikit-Learn 中文文件】二十四:協方差估計 / 經驗協方差 / 收斂協方差 / 稀疏逆協方差 / Robust 協方差估計

2.8.1. 基本收斂

儘管是協方差矩陣的無偏估計, 最大似然估計不是協方差矩陣的特徵值的一個很好的估計, 所以從反演得到的精度矩陣是不準確的。 有時,甚至出現數學原因,經驗協方差矩陣不能反轉。 為了避免這樣的反演問題,引入了經驗協方差矩陣的一種變換方式:shrinkage 。

在 scikit-learn 中,該變換(具有使用者定義的收縮係數) 可以直接應用於使用 shrunk_covariance 方法預先計算協方差。 此外,協方差的收縮估計可以用 ShrunkCovariance 物件 及其 ShrunkCovariance.fit 方法擬合到資料中。 再次,根據資料是否居中,結果會不同,所以可能要準確使用引數 assume_centered

 。

在數學上,這種收縮在於減少經驗協方差矩陣的最小和最大特徵值之間的比率。 可以通過簡單地根據給定的偏移量移動每個特徵值來完成, 這相當於找到協方差矩陣的l2懲罰的最大似然估計器(l2-penalized Maximum Likelihood Estimator)。在實踐中,收縮歸結為簡單的凸變換: \Sigma_{\rmshrunk} = (1-\alpha)\hat{\Sigma} + \alpha\frac{{\rmTr}\hat{\Sigma}}{p}\rm Id.

選擇收縮量, \alpha 相當於設定偏差/方差權衡,下面將討論。