主成份分析
主成份分析(Principle Component Analysis,PCA)是一種數(shù)據(jù)分析方法,其核心思想是提取數(shù)據(jù)的主要分量,完成數(shù)據(jù)的降維。
舉例來說,一個2變量的數(shù)據(jù)可以認(rèn)為是2維空間里面的一組點。以PCA的觀點來說,其目的在于尋找數(shù)據(jù)方差最大的方向,略去方差小的方向,從而減少數(shù)據(jù)的維度并保留大部分信息。
設(shè)數(shù)據(jù)X(就是y=x直線上的5個點,加上一個小隨機數(shù))為
-2.048378 ?-1.000998 ? 0.015661 ? 1.065509 ? 2.178809
-2.074329 ?-0.996471 ? 0.076660 ? 0.895169 ? 1.961309
顯然,y=x可以用一個量來描述,即把直角坐標(biāo)系數(shù)據(jù)投影到y(tǒng)=x直線上,然后記成到原點的距離。
第一步是計算協(xié)方差矩陣C:
C = X * X` * (1/(記錄數(shù))) =
2.2161 ? 2.0950
2.0950 ? 1.9899
第二步計算C的特征向量v和特征值e:
2.2161 - λ ? 2.0950
2.0950 ? ? ? ?1.9899 – λ
得到v =
[0.68779 -0.72591] ? ?-> 0.0050236
[-0.72591, -0.68779] ?-> 4.2010441
特征值表示該特征向量占總方差的比重。顯然第二個占比較大,因此只保留第二個特征向量v2。現(xiàn)在,拿v2和X相乘,得到:
2.913639 ? 1.411996 ?-0.064094 ?-1.389152 ?-2.930587

可以看到PCA在保留數(shù)據(jù)大部分信息的情況下,將數(shù)據(jù)縮減到一個維度。Octave代碼如下: