許多統(tǒng)計(jì)問題都需要估計(jì)總體的協(xié)方差矩陣,這可以看作是對(duì)數(shù)據(jù)集散點(diǎn)圖形狀的估計(jì)。在大多數(shù)情況下,必須對(duì)某個(gè)樣本進(jìn)行這樣的估計(jì),其屬性(大小,結(jié)構(gòu),均勻性)對(duì)估計(jì)質(zhì)量有很大影響。 sklearn.covariance
包提供了用于在各種設(shè)置下準(zhǔn)確估計(jì)總體協(xié)方差矩陣的工具。
我們假設(shè)觀測(cè)值是獨(dú)立的,并且分布相同(iid)。
已知數(shù)據(jù)集的協(xié)方差矩陣可以由經(jīng)典的最大似然估計(jì)器(或“經(jīng)驗(yàn)協(xié)方差”)很好地近似,前提是觀測(cè)的數(shù)量要比特征的數(shù)量(描述觀測(cè)的變量)大得多。更準(zhǔn)確地說,更準(zhǔn)確地說,樣本的最大似然估計(jì)是相應(yīng)總體協(xié)方差矩陣的無偏估計(jì)。
樣本的經(jīng)驗(yàn)協(xié)方差矩陣可以使用empirical_covariance
包的功能來計(jì)算 ,或者使用 EmpiricalCovariance.fit
方法將對(duì)象EmpiricalCovariance
與數(shù)據(jù)樣本擬合 。請(qǐng)注意,結(jié)果取決于數(shù)據(jù)是否聚集,因此可能需要準(zhǔn)確的使用assume_centered
參數(shù)。更準(zhǔn)確地說,如果要使用 assume_centered=False
,則假定測(cè)試集具有與訓(xùn)練集相同的均值向量。如果不是,則兩者都應(yīng)被用戶聚集后,再使用assume_centered=True
。
示例:
盡管最大似然估計(jì)是協(xié)方差矩陣的無偏估計(jì),但它并不是對(duì)協(xié)方差矩陣特征值的一個(gè)良好的估計(jì),因此從其反演中獲得的精度矩陣并不準(zhǔn)確。有時(shí),由于數(shù)值原因甚至?xí)l(fā)生經(jīng)驗(yàn)協(xié)方差矩陣而無法反轉(zhuǎn)的情況。為了避免這種反演問題,引入了經(jīng)驗(yàn)協(xié)方差矩陣的一種變換方式:shrinkage
。
在scikit-learn中,可以使用該方法將轉(zhuǎn)換(具有用戶定義的收縮系數(shù))直接應(yīng)用shrunk_covariance
預(yù)先計(jì)算協(xié)方差。此外,協(xié)方差的收縮估計(jì)可以通過 ShrunkCovariance
對(duì)象的 ShrunkCovariance.fit
方法擬合到數(shù)據(jù)中。同樣,結(jié)果取決于數(shù)據(jù)是否聚集,因此可能需要準(zhǔn)確的使用參數(shù)assume_centered
。
選擇收縮量, 相當(dāng)于設(shè)置了偏差/方差權(quán)衡,下面將就此進(jìn)行討論。
示例:
O. Ledoit和M. Wolf 在他們2004年的論文[1]中提出了計(jì)算最佳收縮系數(shù)α的公式 。這樣可以使估計(jì)協(xié)方差矩陣與實(shí)際協(xié)方差矩陣之間的均方誤差最小。
可以使用sklearn.covariance包中 ledoit_wolf
函數(shù)來計(jì)算樣本的協(xié)方差的Ledoit-Wolf 估計(jì), 或者擬合一個(gè)LedoitWolf
對(duì)象對(duì)相同的樣本來獲取該估計(jì)。
注意:總體協(xié)方差矩陣是各向同性的情況
當(dāng)樣本數(shù)量遠(yuǎn)大于特征數(shù)量時(shí),人們會(huì)認(rèn)為沒有必要收縮。這背后的直覺是,如果總體協(xié)方差是滿秩的,則當(dāng)樣本數(shù)量增加時(shí),樣本協(xié)方差也將變?yōu)檎?。結(jié)果,沒有必要收縮并且該方法應(yīng)該自動(dòng)進(jìn)行收縮。
但是,當(dāng)總體協(xié)方差恰好是單位矩陣的倍數(shù)時(shí),在Ledoit-Wolf過程中就不是這種情況。在這種情況下,隨著樣本數(shù)量的增加,Lodoit-Wolf收縮率估算值接近1。這表明在Ledoit-Wolf的意義上,協(xié)方差矩陣的最佳估計(jì)是同一性的倍數(shù)。由于總體協(xié)方差已經(jīng)是單位矩陣的倍數(shù),因此Ledoit-Wolf解的確是一個(gè)合理的估計(jì)。
示例:
參考文獻(xiàn):
在假設(shè)數(shù)據(jù)是高斯分布的前提下,Chen等人。[2]得出了一個(gè)旨在選擇收縮系數(shù)的公式,該公式產(chǎn)生的均方誤差比Ledoit和Wolf公式具有更小均方誤差的收縮系數(shù)。所得到的估計(jì)器被稱為協(xié)方差的 Oracle 收縮近似估計(jì)器。
可以使用sklearn.covariance 包中函數(shù) oas
計(jì)算樣本協(xié)方差的OAS估計(jì),或者可以通過將 OAS
對(duì)象擬合到相同的樣本來獲得該估計(jì)。
設(shè)置收縮時(shí)的偏差-方差權(quán)衡:比較Ledoit-Wolf和OAS估計(jì)器的選擇
參考文獻(xiàn):
[2]Chen et al., “Shrinkage Algorithms for MMSE Covariance Estimation”, IEEE Trans. on Sign. Proc., Volume 58, Issue 10, October 2010.
示例:
-見收縮協(xié)方差估計(jì):LedoitWolf vs OAS和最大似然對(duì)于如何擬合OAS
對(duì)象到數(shù)據(jù)。
-見Ledoit-Wolf vs OAS估計(jì)器,以可視化LedoitWolf
還有一個(gè)OAS
協(xié)方差的估計(jì)量。
協(xié)方差矩陣的矩陣逆(通常稱為精度矩陣)與部分相關(guān)矩陣成正比。它給出了部分獨(dú)立性的關(guān)系。換句話說,如果兩個(gè)特征在條件上彼此獨(dú)立,則精度矩陣中的相應(yīng)系數(shù)將為零。這就是為什么估計(jì)稀疏精度矩陣是有道理的:通過從數(shù)據(jù)中學(xué)習(xí)獨(dú)立關(guān)系,可以得到更好地調(diào)節(jié)協(xié)方差矩陣的條件。這稱為協(xié)方差選擇。
在小樣本情況下(n_samples
和n_features
相等或更?。?,稀疏的逆協(xié)方差估計(jì)量往往比收縮的協(xié)方差估計(jì)更好。但是,在相反的情況下,或者對(duì)于非常相關(guān)的數(shù)據(jù),它們可能在數(shù)值上不穩(wěn)定。另外,與收縮估計(jì)器不同,稀疏估計(jì)器能夠恢復(fù)非對(duì)角線結(jié)構(gòu)。
GraphicalLasso
估計(jì)器使用L1懲罰執(zhí)行關(guān)于精度矩陣的稀疏性:alpha
參數(shù)越高,精度矩陣越稀疏。相應(yīng)的GraphicalLassoCV
對(duì)象使用交叉驗(yàn)證來自動(dòng)設(shè)置alpha
參數(shù)。
協(xié)方差矩陣和精度矩陣基于最大似然度估計(jì),收縮估計(jì)和稀疏估計(jì)的比較。
注意 :結(jié)構(gòu)恢復(fù)
從數(shù)據(jù)的相關(guān)性中恢復(fù)圖形結(jié)構(gòu)是一項(xiàng)具有挑戰(zhàn)性的工作。如果您對(duì)這種恢復(fù)感興趣,請(qǐng)記?。?/p>
GraphicalLasso
之前先對(duì)觀察值進(jìn)行標(biāo)準(zhǔn)化GraphicalLassoCV
對(duì)象)選擇的alpha參數(shù) 也會(huì)導(dǎo)致選擇過多的邊。但是,相關(guān)邊的權(quán)重將比無關(guān)邊大。數(shù)學(xué)公式如下:
?
其中:是要估計(jì)的精度矩陣(precision matrix),是樣本的協(xié)方差矩陣。是非對(duì)角系數(shù) 的絕對(duì)值之和。 用于解決這個(gè)問題的算法是來自 Friedman 2008 Biostatistics 論文的 GLasso 算法。 它與 R 語言 glasso
包中的算法相同。
示例:
參考文獻(xiàn):
真實(shí)的數(shù)據(jù)集經(jīng)常受到測(cè)量或記錄誤差的影響。由于各種原因,常規(guī)但不尋常的觀察也可能出現(xiàn)。罕見的觀測(cè)稱為異常值。上面顯示的經(jīng)驗(yàn)協(xié)方差估計(jì)器和收縮協(xié)方差估計(jì)器對(duì)數(shù)據(jù)中異常值的存在非常敏感。因此,應(yīng)該使用魯棒的協(xié)方差估計(jì)器來估計(jì)實(shí)際數(shù)據(jù)集的協(xié)方差。 或者,可以使用魯棒協(xié)方差估計(jì)器來執(zhí)行異常值檢測(cè), 并根據(jù)數(shù)據(jù)的進(jìn)一步處理:丟棄/降低某些觀察值。
該sklearn.covariance
程序包實(shí)現(xiàn)了一個(gè)強(qiáng)大的協(xié)方差估計(jì)器,即最小協(xié)方差行列式[3]。
最小協(xié)方差估計(jì)器是PJ Rousseeuw在[3]引入的數(shù)據(jù)集協(xié)方差的魯棒估計(jì)器。這個(gè)想法是找出一個(gè)給定比例(h)的 “良好” 觀察值,它們不是離群值, 然后計(jì)算他們的經(jīng)驗(yàn)協(xié)方差矩陣,以補(bǔ)償觀測(cè)值的執(zhí)行選擇(“一致性步驟”)。 然后將該經(jīng)驗(yàn)協(xié)方差矩陣重新縮放以補(bǔ)償所執(zhí)行的觀察選擇(”consistency step(一致性步驟)”)。計(jì)算完最小協(xié)方差決定估計(jì)器后,可以根據(jù)其馬氏距離(Mahalanobis distance)給出觀測(cè)值的權(quán)重, 得到數(shù)據(jù)集的協(xié)方差矩陣的重新加權(quán)估計(jì)(”reweighting step(重新加權(quán)步驟)”)。
Rousseeuw 和 Van Driessen [4]開發(fā)了 FastMCD 算法,以計(jì)算最小協(xié)方差決定因子。在 scikit-learn 中,在將 MCD 對(duì)象擬合到數(shù)據(jù)時(shí), 使用該算法。FastMCD 算法同時(shí)計(jì)算數(shù)據(jù)集位置的魯棒估計(jì)。
原始估計(jì)(Raw estimates)可通過 MinCovDet
對(duì)象的 raw_location_
和 raw_covariance_
屬性獲得。
參考文獻(xiàn):
示例:
見穩(wěn)健與經(jīng)驗(yàn)協(xié)方差估計(jì)一個(gè)例子,說明如何將MinCovDet
對(duì)象與數(shù)據(jù)相匹配,并查看在存在異常值的情況下如何保持估計(jì)的準(zhǔn)確性。
見魯棒協(xié)方差估計(jì)與馬氏距離相關(guān)性 想象EmpiricalCovariance
和MinCovDet
基于馬氏距離的協(xié)方差估計(jì)(因此我們也得到了精度矩陣的更好估計(jì)).
異常值對(duì)位置和協(xié)方差估計(jì)的影響 | 使用Mahalanobis距離分離內(nèi)圍點(diǎn)和離群點(diǎn) |
---|---|
![]() ![]() |
![]() ![]() |
異常值對(duì)位置和協(xié)方差估計(jì)的影響
更多建議: