主成分分析(PCA)

在許多領域的研究分析中,往往需要從多個角度採集事物的大量信息,並且加以分析。多變量大樣本給數據分析帶來了豐富的信息,但是在多數情況下,同一個樣本,不同變量之間是具有相關性的,這給分析增加了複雜性。而盲目地抽出其中幾個變量來分析,又會損失很多重要的信息,得出錯誤的結論。

因此,在多變量大樣本分析中,有兩個重要的數據處理方法:數據解耦、數據降維

數據解耦:很多情況下,變量和變量之間是有相當強的相關性的。比如分析一個班級中學生的數學、語文兩科的成績,多數情況下,一科成績好的學生,另一科成績也不差。如果設數學成績爲X1,語文成績爲X2,有沒有可能構建一個加權成績u1=a1*X1+a2*X2,和另一個加權成績u2=b1*X1+b2*X2,使得u1和u2相關性爲0呢?

         那麼爲什麼要數據解耦呢?直觀上去想,在X1-X2座標系下,一個班級的數學和語文成績數據極有可能擬合成一條直線。如果我們在(a1*X1+a2*X2)-(b1*X1+b2*X2)座標系下分析,由於u1和u2是不相關的,在此座標系下班級成績的座標點,將圍繞點(E(u1),E(u2))關於座標軸對稱分佈。其中E(u1)是變量u1的數學期望。用一幅圖描述此過程:


通過簡單線性變換,數據解耦之後,可以得到與之前變量(X1和X2)數目相同的一組變量(u1和u2),新得到的這組變量兩兩之間無相關性,即消除了冗餘的信息

數據降維:如果有一個m維(即m個變量)的數據集,我們想辦法將其將爲k維,同時將有效信息的損失降到最小,以減少數據分析的複雜性,這就是數據降維。還是以上圖爲例,明顯,數據近似組成了一個橢圓區域,其長軸爲u1方向,短軸爲u2方向。如果我們拋棄u2變量,保留u1變量,也就是認爲數據在u1軸兩側均勻分佈,直觀上感覺並沒有損失太多信息。事實上,保留長軸,忽略短軸這種策略,是降維時有效信息損失最少的。甚至,短軸u2極有可能是真實數據的噪聲

         主成分分析法就是可以同時實現上述兩種數據處理的方法。上述的u1軸就是這個數據集的第一主成分,u2就是數據集的第二主成分。

PCA實例:本例將以二維數據爲例,講解PCA流程。首先隨機構建一個有26個樣本,每個樣本兩個變量的數據集。其中變量X1=RAND()*20+80,噪聲=RAND()*2-1,變量X2=X1*2.5+噪聲。(通常情況下,兩個變量之間的相互關係以及噪聲的構建方法是不可能提前知道的,這裏我們爲了分析算法,自行構建了一組數據。)

 

 

第一步,中心化。

將X1和X2的每一個數據,減去他們的平均值,得到新是X1’和X2’。這樣做的目的是讓數據的中心平移到原點上,同時不改變數據之間的相關性。


第二步,求協方差矩陣。

協方差表示了兩個數據之間的相關性,協方差爲正說明兩個變量爲正相關,爲負表明兩個變量爲負相關,兩個變量相互獨立時協方差爲0。一個變量和它自身的協方差是這個變量的方差。當樣本是n維數據時,每兩個變量之間兩兩求協方差,可以得到一個邊長爲n*(n-1)/2的協方差矩陣。對於3維數據,其協方差矩陣爲:


對於我們構建的數據,可求協方差矩陣爲:


第三步,求這個協方差矩陣的特徵值和特徵向量:


這裏,之前我們提到的線性變換系數a1,a2,b1,b2就是特徵向量的元素1,2.483144522,1,-0.40271518

第四步,對X1,X2線性變換得到u1,u2


最後,我們可以得到一些有趣的性質:

1,  第二主成分接近0。說明了單個變量的第一主成分,已經“近乎”可以描述之前的兩個變量組成的樣本的信息。

2,  由於我們是可以知道噪音具體數值的,對噪聲和第二主成分取絕對值後作圖發現,二者有極強的正相關性。因此,捨棄第二主成分,既能去除相當一部分噪音,又能儘可能保留原始數據的信息。


證明略。

 

2017/12/6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章