“有趣”的投影:當PCA失效時怎麼辦?
摘要: ——試試PPA,一個關於探索性資料分析的替代方案!
目前,大多數的資料科學家都比較熟悉主成分分析 (Principal Components Analysis,PCA),它是一個探索性的資料分析工具。可以這樣簡要的描述:研究人員經常使用PCA來降低維度,希望在他們的資料中找出有用的資訊(例如疾病與非疾病的分類)。PCA是通過尋找正交投影(Orthogonal Projection)向量來實現這一點的,正交投影向量說明了資料中的最大方差量。在實踐中,這通常是用奇異值分解(Singular Value Decomposition,SVD)的方法來找到主成分(特徵向量),並通過其對資料總方差的貢獻(特徵值)加權。毫無疑問,在我的專業領域以及許多其它的領域中,PCA是最常用的資料分析工具,但是當它不起作用的時候會發生什麼呢?這是否意味著抽樣試驗的效果不好呢?這是否意味著資料中沒有有用的資訊呢?我們的小組致力於為化學專業開發新的資料分析工具。在這裡,我要給為大家介紹一個PCA的替代方案,叫做投影追蹤分析(Projection Pursuit Analysis ,PPA)。
基於方差運算的PCA
PCA失敗在哪了呢?像上面描述的那樣,PCA通過在資料中找到最大方差的方向來進行操作。那麼如果投射到那個方向上沒有效果呢?下圖是由200個樣本的模擬資料組成的,這些資料形成了兩個分離的叢集,它們沿著Y軸的方差大於沿著X軸的方差。如果我們對這個二維資料進行PCA操作,那麼會得到投影向量 v ,它將是2×1的列向量([0;1])。投射到這個向量上的原始資料 X (200x2)給出了我們的得分 T = Xv 。在把這些得分視覺化之後表明了兩個叢集之間沒有明顯的分離。相反,如果我們投射到x軸上(v=[1;0]),那麼很容易地就會看到這兩個叢集中的分離狀態。那麼我們如何在高維的資料中找到這個向量呢?
投影追蹤
投影追蹤方法最初是由Friedman和Tukey在1974年的時候提出來的,他們試圖根據投影指數的最大化或最小化來在資料中找到“有趣的”投影。通過擴充套件,在PCA框架中,投影指數(方差)被最大化了。現在的問題是,什麼樣的是好的預測指數呢?資料科學家們在定義新的投影指數方面已經做了大量的研究,但是今天我要關注的一個已經被證明對探索化學領域資料有用的指標是峰態係數(kurtosis)。
基於峰態係數的投影追蹤(Kurtosis-based projection pursuit)
第四個統計矩,峰態係數,已被證明了是一個很有用的投影指數 ( https://www.sciencedirect.com/science/article/pii/S0003267011010804 )。
當峰態係數最大化時,它往往會顯示資料中的異常值。這會有些用處,但是實際上它並不是我們想要尋找並顯示類或叢集資訊的東西。然而,當峰態係數最小化時,它將1個維度中的資料分為2組(2個維度中分為4組,3個維度中分為8組)。
現在最大的問題是如何使用峰態係數查詢這些投影向量?Quasai-power學習演算法. 請見 https://www.sciencedirect.com/science/article/pii/S0003267011010804 。本文中,Hou和Wentzell證明了利用下面的學習演算法可以找到最小化峰態係數的投影向量:
例項模擬
讓我們同時利用PCA和PPA兩種技術來模擬一些資料。與開啟的圖形類似,我們的資料將會分為兩個類,每個類有100個樣本,並且只需要1個維度來顯示類分離。第一個類在x軸上以-4為中心,標準偏差為5,而第二類則以+4為中心,標準偏差也是5。
為了使這個模擬更真實,讓我們通過乘以一個2 x 600的隨機旋轉矩陣,將這個200 x 2的矩陣旋轉為600個維度。這就是我們現在需要利用探索工具來找到資料中一些有趣的投影的地方。首先,讓列的平均值集中我們的資料,同時應用PCA,並將第一個成分視覺化為一個樣本數量的函式。
我們會看到,向下投射到第一個PC上的資料不會顯示類資訊。那我們現在就來應用PPA。
PPA能夠找到對我們有用的投影(即提供類分離的投影)。
PPA的問題
儘管在大多數的情況下,我們發現PPA的效能都優於PCA,但是當PPA沒有效果的時候,有一些重要的注意事項需要在這裡說明一下。當類的大小不相等的時候,PPA就不會正常地工作了,例如,如果我在上面的例項中使用5:1的類比率並應用PPA,我們會得到以下結果:
由於分離的幾何學方面的原因,當類的數量不是2的n次方時,PPA也會有問題。PPA也會遇到過度擬合問題,並且通常需要執行資料壓縮,大約需要10:1的樣本與變數比率。否則,該演算法就將人工地把樣本忽略掉。我們小組目前的工作是開發一些能緩解這些問題的方法,好訊息是我們應該在未來的幾個月之內就會發表一些關於這方面的論文!我一定會及時通知大家的。
本文作者:【方向】
本文為雲棲社群原創內容,未經允許不得轉載。