使用多變量方法,當您擁有寬(數千列)數據時,必須以不同方式執行操作。
用於寬數據的傳統方法的致命弱點是它們以協方差矩陣開始,該矩陣隨著列數的平方而增長。例如,基因組學研究往往有廣泛的數據:
在一項基因組學研究中,有10,787個基因表達列,儘管只有230行。該協方差矩陣擁有超過5800萬個元素,佔用465MB內存。我們合作的另一項研究在249個個體中有49,041個基因,這導致使用9.6GB內存的協方差矩陣。另一項研究有1,824,184個基因列,產生13.3TB的協方差矩陣。計算機沒有那麼多內存 - 實際上,它們沒有那麼多磁盤空間。即使你有這些廣泛問題的記憶,也需要很長時間來計算協方差矩陣,大約為n * p 2 ,其中n是行數,p是列數。此外,當你必須反轉協方差矩陣時會更糟,這將花費p的順序 3 。此外,協方差矩陣非常奇異,因為數據中的行數遠少於列數。
所以你會認為多變量方法對於這些情況是不切實際或不可能的。幸運的是,還有另一種方法,一種方法可以解決大問題,不僅實用,而且速度相當快,同時產生與巨大的協方差矩陣相同的答案。
多變量空間中的有效維數是行數的順序,因為它遠小於列數。該寬矩陣中的所有變化可以由主成分錶示,即與正方差相關聯的那些,即非零特徵值。還有另一種方法可以使用(標準化)數據的奇異值分解來獲得主成分。現在您處於主要組件空間中,這些主要組件的維度很小;事實上,所有的計算都簡化了,因為主成分的協方差矩陣是對角線的,這對於反演來說是微不足道的。
例如,讓我們看一下249行中包含1,824,184列的基因組數據集。我能夠在94分鐘內在我的6核Mac Pro上使用JMP 12來完成該數據的主要組件。以另一種方式做這顯然是不可能的。
通過判別分析,主要任務是計算每個點到每個組的(多變量)平均值的距離。然而,該距離不是簡單的歐幾里德距離,而是距離的多變量形式,一種稱為馬哈拉諾比斯距離,它使用逆協方差矩陣。
但是考慮一下標準化數據 - 主要成分是相同的數據,但是通過各種角度進行旋轉。區別在於原始數據可能有10,000列,但在寬數據情況下,主要組件只有幾百列。因此,如果我們想要測量點之間或點與多元均值之間的距離( 形心 ),那麼我們可以用更少的維度來做到這一點。不僅如此,主坐標是不相關的,這意味著馬哈拉諾比斯距離計算中間的矩陣是對角線的,因此距離只是各個坐標距離的平方和。
我們按組分取中心數據的主要成分。然後我們將平均值添加到這個新的降維數據中。轉換後的均值只是原始組均值的主成分轉換。
例
有一組乳腺癌基因組表達數據是微陣列質量聯盟使用的基準,具有230行和10,787個基因表達。使用寬線性方法的判別分析僅需5.6秒(在Mac Pro上),並且在最難分類的類別ER_status上產生僅13.7%的交叉驗證錯誤分類率。鑑於其他方法很昂貴,這種錯誤分類率接近於該問題的最佳分類率。

注意: 這是一部分大統計 John Sall撰寫的一系列博客文章。讀完他的全部內容大統計帖子 。