「有趣」的投影 當PCA失效時怎麼辦?

2021-09-10 07:19:59 字數 2796 閱讀 7324

目前,大多數的資料科學家都比較熟悉主成分分析 (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在2023年的時候提出來的,他們試圖根據投影指數的最大化或最小化來在資料中找到「有趣的」投影。通過擴充套件,在pca框架中,投影指數(方差)被最大化了。現在的問題是,什麼樣的是好的**指數呢?資料科學家們在定義新的投影指數方面已經做了大量的研究,但是今天我要關注的乙個已經被證明對探索化學領域資料有用的指標是峰態係數(kurtosis)。

基於峰態係數的投影追蹤(kurtosis-based projection pursuit)

第四個統計矩,峰態係數,已被證明了是乙個很有用的投影指數

當峰態係數最大化時,它往往會顯示資料中的異常值。這會有些用處,但是實際上它並不是我們想要尋找並顯示類或集群資訊的東西。然而,當峰態係數最小化時,它將1個維度中的資料分為2組(2個維度中分為4組,3個維度中分為8組)。

峰態係數最小化

例項模擬

讓我們同時利用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的樣本與變數比率。否則,該演算法就將人工地把樣本忽略掉。我們小組目前的工作是開發一些能緩解這些問題的方法,好訊息是我們應該在未來的幾個月之內就會發表一些關於這方面的**!我一定會及時通知大家的。

「有趣」的投影 當PCA失效時怎麼辦?

目前,大多數的資料科學家都比較熟悉主成分分析 principal components analysis,pca 它是乙個探索性的資料分析工具。可以這樣簡要的描述 研究人員經常使用pca來降低維度,希望在他們的資料中找出有用的資訊 例如疾病與非疾病的分類 pca是通過尋找正交投影 orthogona...

為什麼要架構?當架構走火入魔時怎麼辦

為什麼要架構,我來說說原因 當你希望把複雜問題清晰化時,而不是簡單化,這時需要架構 當你希望把 的重複利用率提高時,需要架構 當你希望對團隊整個進行把控時,需要架構 以上只是我簡單的總結,下面說說架構之 走火入魔 篇 我很喜歡看武俠電影,喜歡邵氏,邵氏經典,必屬佳片說的一點不錯,在我看大部分武俠劇時...

當伺服器被人打時我們該怎麼辦呢

當伺服器被攻擊後我們該怎麼辦呢?伺服器被攻擊後 記得斷開所有網路連線具體方法如下 一 斷開所有網路連線。伺服器之所以被攻擊是因為連線在網路上,因此在確認系統遭受攻擊後,第一步一定要斷開網路連線,即斷開攻擊。二 根據日誌查詢攻擊者。根據系統日誌進行分析,檢視所有可疑的資訊進行排查,尋找出攻擊者。三 根...