主成分分析(PCA)
在許多領(lǐng)域的研究與應(yīng)用中枫夺,往往需要對(duì)反映事物的多個(gè)變量進(jìn)行大量的觀測(cè)昭殉,收集大量數(shù)據(jù)以便進(jìn)行分析尋找規(guī)律忙干。多變量大樣本無疑會(huì)為研究和應(yīng)用提供了豐富的信息上祈,但也在一定程度上增加了數(shù)據(jù)采集的工作量培遵,更重要的是在多數(shù)情況下,許多變量之間可能存在相關(guān)性登刺,從而增加了問題分析的復(fù)雜性籽腕,同時(shí)對(duì)分析帶來不便。如果分別對(duì)每個(gè)指標(biāo)進(jìn)行分析纸俭,分析往往是孤立的皇耗,而不是綜合的。盲目減少指標(biāo)會(huì)損失很多信息揍很,容易產(chǎn)生錯(cuò)誤的結(jié)論郎楼。
因此需要找到一個(gè)合理的方法,在減少需要分析的指標(biāo)的同時(shí)女轿,盡量減少原指標(biāo)包含信息的損失箭启,以達(dá)到對(duì)所收集數(shù)據(jù)進(jìn)行全面分析的目的。由于各變量間存在一定的相關(guān)關(guān)系蛉迹,因此有可能用較少的綜合指標(biāo),分別綜合存在于各變量中的各類信息放妈。主成分分析與因子分析就屬于這類降維的方法北救。
問題描述
下表是某些學(xué)生的語文、數(shù)學(xué)芜抒、物理珍策、化學(xué)成績(jī)統(tǒng)計(jì):
學(xué)生編號(hào) | 語文 | 數(shù)學(xué) | 物理 | 化學(xué) |
---|---|---|---|---|
1 | 90 | 140 | 99 | 100 |
2 | 90 | 97 | 88 | 92 |
3 | 90 | 110 | 79 | 83 |
…… | …… | …… | …… | …… |
首先,假設(shè)這些科目成績(jī)不相關(guān)宅倒,也就是說某一科目考多少分與其他科目沒有關(guān)系攘宙。那么一眼就能看出來,數(shù)學(xué)拐迁、物理蹭劈、化學(xué)這三門課的成績(jī)構(gòu)成了這組數(shù)據(jù)的主成分(很顯然,數(shù)學(xué)作為第一主成分线召,因?yàn)閿?shù)學(xué)成績(jī)拉的最開)铺韧。下面再看一組學(xué)生的數(shù)學(xué)、物理缓淹、化學(xué)哈打、語文塔逃、歷史、英語成績(jī)統(tǒng)計(jì):
學(xué)生編號(hào) | 數(shù)學(xué) | 物理 | 化學(xué) | 語文 | 歷史 | 英語 |
---|---|---|---|---|---|---|
1 | 65 | 61 | 72 | 84 | 81 | 79 |
2 | 77 | 77 | 76 | 64 | 70 | 55 |
3 | 67 | 63 | 49 | 65 | 67 | 57 |
4 | 80 | 69 | 75 | 74 | 74 | 63 |
5 | 74 | 70 | 80 | 84 | 82 | 74 |
6 | 78 | 84 | 75 | 62 | 72 | 64 |
7 | 66 | 71 | 67 | 52 | 65 | 57 |
8 | 77 | 71 | 57 | 72 | 86 | 71 |
9 | 83 | 100 | 79 | 41 | 67 | 50 |
…… | …… | …… | …… | …… | …… | …… |
數(shù)據(jù)太多了料仗,以至于看起來有些凌亂湾盗!也就是說,無法直接看出這組數(shù)據(jù)的主成分立轧,因?yàn)樵谧鴺?biāo)系下這組數(shù)據(jù)分布的很散亂淹仑。
在另一個(gè)例子中,假設(shè)數(shù)據(jù)在相應(yīng)坐標(biāo)空間中表示出來如下圖所示肺孵,也許你就能換一個(gè)觀察角度找出主成分匀借。
但是,對(duì)于更高維的數(shù)據(jù)平窘,能想象其分布嗎吓肋?就算能描述分布,如何精確地找到這些主成分的軸瑰艘?如何衡量你提取的主成分到底占了整個(gè)數(shù)據(jù)的多少信息是鬼?所以,我們就要用到主成分分析的處理方法紫新。
數(shù)據(jù)降維
假設(shè)三維空間中有一系列點(diǎn)均蜜,這些點(diǎn)分布在一個(gè)過原點(diǎn)的斜面上,如果你用自然坐標(biāo)系x,y,z這三個(gè)軸來表示這組數(shù)據(jù)的話芒率,需要使用三個(gè)維度囤耳,而事實(shí)上,這些點(diǎn)的分布僅僅是在一個(gè)二維的平面上偶芍。如果我們把坐標(biāo)軸旋轉(zhuǎn)一下充择, 使數(shù)據(jù)所在的平面與平面重合,不就只需要使用兩個(gè)維度了嗎匪蟀。這樣數(shù)據(jù)的維數(shù)就降下來了椎麦。究其本質(zhì),如果把這些數(shù)據(jù)按行存儲(chǔ)成一個(gè)矩陣材彪,那么這個(gè)矩陣的秩為2观挎。這些數(shù)據(jù)之間是具有相關(guān)性的,這些數(shù)據(jù)的最大線性無關(guān)組只包含兩個(gè)向量段化。(一般來講n維空間中的n個(gè)點(diǎn)一定能在一個(gè)n-1維子空間中分析)
將上面的數(shù)據(jù)降維之后嘁捷,我們可以認(rèn)為并沒有損失信息,因?yàn)樗械臄?shù)據(jù)在平面之外的第三個(gè)維度的分量都是0∷氡茫現(xiàn)在假設(shè)軸有一個(gè)輕微的擾動(dòng)普气,那么我們?nèi)匀挥蒙鲜龅亩S來表示這些數(shù)據(jù)佃延,因?yàn)槲覀兛梢哉J(rèn)為這兩個(gè)軸包含了數(shù)據(jù)的主成分夷磕。而且這些信息對(duì)于我們的分析已經(jīng)足夠了坐桩,
軸的擾動(dòng)很有可能是噪聲,并且具有很大的相關(guān)性绵跷。所以,綜合考慮碾局,可以認(rèn)為數(shù)據(jù)在
上的投影構(gòu)成數(shù)據(jù)的主成分奴艾。
PCA的思想是將n維特征映射到k維上(k<n),這k維是全新的正交特征蕴潦。這k維特征稱為主成分像啼,是重新構(gòu)造出來的k維特征,而不是簡(jiǎn)單地從n維特征中去除其余n-k維特征潭苞。
PCA推導(dǎo)
首先對(duì)于二維數(shù)據(jù)忽冻,如上圖所示,每個(gè)觀測(cè)點(diǎn)都是二維平面的一個(gè)點(diǎn)此疹。如果這些數(shù)據(jù)形成一個(gè)橢圓形的點(diǎn)陣僧诚,這個(gè)橢圓有一個(gè)長(zhǎng)軸和一個(gè)短軸。在短軸方向秀菱,數(shù)據(jù)的變化很姓裎堋;在極端的情況下衍菱,如果短軸退化成了一個(gè)點(diǎn),那么只有在長(zhǎng)軸的方向才能解釋這些點(diǎn)的變化肩豁。這樣二維就降維一維了脊串。
顯然,上圖中就是主成分方向清钥,二維空間中與
正交的方向琼锋,就是
方向。則數(shù)據(jù)在
軸的離散程度最大(方差最大)祟昭,數(shù)據(jù)在
上的投影代表了原始數(shù)據(jù)的絕大部分信息缕坎,即使不考慮u2,信息損失也不多篡悟。而且谜叹,u1匾寝、u2不相關(guān)。只考慮u1時(shí)荷腊,二維降為一維艳悔。
橢圓的長(zhǎng)短軸相差得越大,降維也越有道理女仰。
1猜年、最大方差理論
在信號(hào)處理中認(rèn)為信號(hào)具有較大的方差,噪聲有較小的方差乔外,信噪比就是信號(hào)與噪聲的方差比杨幼,越大越好推汽。如前面的圖歹撒,樣本在u1上的投影方差較大暖夭,在u2上的投影方差較小迈着,那么可認(rèn)為u2上的投影是由噪聲引起的裕菠。
因此我們認(rèn)為奴潘,最好的k維特征是將n維樣本點(diǎn)轉(zhuǎn)換為k維后画髓,每一維上的樣本方差都很大奈虾。
2匾鸥、最小二乘法
使用最小二乘法來確定各個(gè)主軸的方向扫腺。
對(duì)于一組給定的數(shù)據(jù)
其數(shù)據(jù)的中心為:
數(shù)據(jù)中心化后為:
設(shè)中心化后的數(shù)據(jù)在第一主軸方向上分布最為離散,也就是說在u1方向上的投影的絕對(duì)值之和最大(也可以說方差最大)躁劣,只需要求出
方向账忘,設(shè)
為單位向量鳖擒。
也就是最大化式:
令:
上式 =
是一個(gè)二次型蒋荚,我們假設(shè)
的某一個(gè)特征值為
,對(duì)應(yīng)的特征向量為
互躬,那么:
顯然容为,是一個(gè)半正定的二次型舟奠,且有最大值。
求解最大值和最大值點(diǎn)
目標(biāo)函數(shù)可以表示成映射后的向量的二范數(shù)平方:
所以最大化目標(biāo)函數(shù)的基本問題就轉(zhuǎn)化成了:對(duì)于一個(gè)矩陣咙俩,它對(duì)一個(gè)向量做變換膜蛔,變換前后的向量的模長(zhǎng)伸縮尺度如何才能最大皂股?我們有矩陣代數(shù)中的定理知呜呐,向量經(jīng)矩陣映射前后的向量長(zhǎng)度之比的最大值就是這個(gè)矩陣的最大奇異值蘑辑,即:
最大特征值對(duì)應(yīng)的特征向量的方向就是第一個(gè)主成分
的方向洋魂。
主成分所占整個(gè)信息的百分比可用下式計(jì)算:
分母為所有奇異值的平方和副砍,分子為前k個(gè)奇異值的平方和豁翎。
PCA實(shí)例
我們假設(shè)有如下數(shù)據(jù):
x | y |
---|---|
2.5 | 2.4 |
0.5 | 0.7 |
2.2 | 2.9 |
1.9 | 2.2 |
3.1 | 3.0 |
2.3 | 2.7 |
2 | 1.6 |
1 | 1.1 |
1.5 | 1.6 |
1.1 | 0.9 |
第一步:分別球x,y的平均值:然后對(duì)所有的樣例刘陶,都減去對(duì)應(yīng)的均值匙隔。
0.69 | 0.49 |
-1.31 | -1.21 |
0.39 | 0.99 |
0.09 | 0.29 |
1.29 | 1.09 |
0.49 | 0.79 |
0.19 | -0.31 |
-0.81 | -0.81 |
-0.31 | -0.31 |
-0.71 | -1.01 |
第二步:求特征協(xié)方差矩陣
第三步:求協(xié)方差的特征值和特征向量
第四步:將特征值按照從大到小的順序排序,選擇其中最大的k個(gè)再膳,然后將其對(duì)應(yīng)的k個(gè)特征向量分別作為列向量組成特征向量矩陣喂柒。
這里特征值只有兩個(gè)灾杰,我們選擇其中最大的那個(gè),這里是1.28402771麦备,對(duì)應(yīng)的特征向量為
第五步:將樣本點(diǎn)投影到特征向量上凛篙, 這樣鞋诗,就將原始樣例的n維特征變成了k維削彬,這k維就是原始特征在k維上的投影融痛。