主成分分析以及应用:企业综合实力排序
這段時間一直在學習數據挖掘的一些算法,今天通過不斷查閱資料,學習整理了一下主成分分析這個數據降維算法。并且結合一個實例進行matlab編程實現。
主成分基本原理
在數據挖掘中,經常會遇到一個問題就是一個問題出現了n多個變量,而且變量之間還可能會存在各種復雜的相互聯系,變量之間并不是獨立的。那么主成分分析就是將多個變量綜合為少數幾個代表性的變量,而且這些主要的變量僅能夠代表原始變量的絕大多數信息又互不相關的一種數據降維算法。
主成分分析采取一種數據降維思想,其所要做的就是設法就原來眾多的具有一定相關性的變量,重新組合為一種新的相互無關的綜合變量來代表原來的眾多個變量。它借助于一個正交變換,將其分量相關的原隨機向量轉化成其分量不相關的新隨機向量,這在代數上表現為將原隨機向量的協方差陣變換成對角形陣,在幾何上表現為將原坐標系變換成新的正交坐標系,使之指向樣本點散布最開的p 個正交方向,然后對多維變量系統進行降維處理,使之能以一個較高的精度轉換成低維變量系統,再通過構造適當的價值函數,進一步把低維系統轉化成一維系統。
主成分分析的原理是設法將原來變量重新組合成一組新的相互無關的幾個綜合變量,同時根據實際需要從中可以取出幾個較少的總和變量盡可能多地反映原來變量的信息的統計方法叫做主成分分析或稱主分量分析,也是數學上處理降維的一種方法。主成分分析是設法將原來眾多具有一定相關性(比如P個指標),重新組合成一組新的互相無關的綜合指標來代替原來的指標。通常數學上的處理就是將原來P個指標作線性組合,作為新的綜合指標。最經典的做法就是用F1(選取的第一個線性組合,即第一個綜合指標)的方差來表達,即Var(F1)越大,表示F1包含的信息越多。因此在所有的線性組合中選取的F1應該是方差最大的,故稱F1為第一主成分。如果第一主成分不足以代表原來P個指標的信息,再考慮選取F2即選第二個線性組合,為了有效地反映原來信息,F1已有的信息就不需要再出現再F2中,用數學語言表達就是要求:
Cov(F1,F2)=0
則稱F2為第二主成分,依此類推可以構造出第三、第四,……,第P個主成分。
PCA方法計算步驟
(1)首先對于原始數據進行標準化處理。
X=
那么就可以將X按照列進行Z?score標準化.其轉化函數為:
x?=x?μσ
其中μ為按照列計算得到的樣本數據均值,σ 位按照列計算得到的樣本數據的標準差。
(2)計算經過標準化處理后得到的數據的相關性矩陣。
R=
r11r21?rn1r12r22?rn2????r1pr2p?rnp
其中:rij=Cov(xi,xj)var(xi)√var(xj)√=∑k=nk=1(xki?xˉi)(xkj?xˉj)∑k=nk=1(xki?xˉi)√∑k=nk=1(xkj?xˉj)√,n>1.
(3)計算相關系數矩陣R特征值(λ1,λ2,?,λp 和相應的特性向量ai=(ai1,ai2,?,ai3)
(4)對特征值進行降序排列。
(5)計算降序排列后的特征值的貢獻率以及累計貢獻率
contributionRate=λi∑pi=1λi
accumulativeContributionRate=∑ki=1λi∑pi=1λi,k≤p.
(6)計算主成分得分矩陣
根據標準化的原始數據,按照各個樣品,分別帶入主成分表達式,就可以得到各個主成分下的各個樣品的新數據,即主成分的得分。具體形式為:
F11F21?Fn1F12F22?Fn2????F1kF1k?Fnk
其中,Fij=aj1xi1+aj2xi2+?+ajpxip,i=1,2,?,n,j=1,2,?,k。
Matlab程序實現
4 . 結果
1)特征值貢獻率以及累計貢獻率:
| 5.7261 | 0.7170 | 0.7170 | ||
| 1.0972 | 0.1372 | 0.8547 | ||
| 0.5896 | 0.0737 | 0.9279 | ||
| 0.2858 | 0.0357 | 0.9636 | ||
| 0.1456 | 0.0182 | 0.9818 | ||
| 0.1369 | 0.0171 | 0.9989 | ||
| 0.0060 | 0.00075 | 0.9997 | ||
| 0.0027 | 0.002034 | 1.0000 |
2)公司打分以及排名
| 4.235 | 9 | |
| 3.971 | 1 | |
| 2.367 | 8 | |
| 1.970 | 6 | |
| 1.798 | 5 | |
| 1.103 | 13 | |
| 0.752 | 15 | |
| 0.168 | 14 | |
| -0.292 | 2 | |
| -1.007 | 10 | |
| -1.523 | 7 | |
| -2.054 | 4 | |
| -2.513 | 11 | |
| -3.643 | 3 | |
| -5.332 | 12 |
可依據打分結果得出,綜合實力最強的是序號為9的那家公司。
5 . Matlab自帶主成分分析函數pca對比驗證
為了表明計算的準確性,我再采用了matlab自帶的主成分函數pca進行了一個對比驗證。
返回的latent是一個向量,它是X所對應的協方差矩陣的特征值向量。
我們主要看latent矩陣得到結果
| 5.7261 |
| 1.0972 |
| 0.5896 |
| 0.2858 |
| 0.1456 |
| 0.1369 |
| 0.0060 |
| 0.0027 |
發現計算結果是一樣的。
6 . 主成分分析法優缺點
優點:
①可消除評估指標之間的相關影響。因為主成分分析法在對原始數據指標變量進行變換后形成了彼此相互獨立的主成分,而且實踐證明指標間相關程度越高,主成分分析效果越好。
②可減少指標選擇的工作量,對于其他評估方法,由于難以消除評估指標間的相關影響,所以選擇指標時要花費不少精力,而主成分分析法由于可以消除這種相關影響,所以在指標選擇上相對容易些。
③主成分分析中各主成分是按方差大小依次排列順序的,在分析問題時,可以舍棄一部分主成分,只取前面方差較大的幾個主成分來代表原變量,從而減少了計算工作量。用主成分分析法作綜合評估時,由于選擇的原則是累計貢獻率≥85%,不至于因為節省了工作量卻把關鍵指標漏掉而影響評估結果。
缺點:
①在主成分分析中,我們首先應保證所提取的前幾個主成分的累計貢獻率達到一個較高的水平(即變量降維后的信息量須保持在一個較高水平上),其次對這些被提取的主成分必須都能夠給出符合實際背景和意義的解釋(否則主成分將空有信息量而無實際含義)。
②主成分的解釋其含義一般多少帶有點模糊性,不像原始變量的含義那么清楚、確切,這是變量降維過程中不得不付出的代價。因此,提取的主成分個數m通常應明顯小于原始變量個數p(除非p本身較小),否則維數降低的“利”可能抵不過主成分含義不如原始變量清楚的“弊”。
③當主成分的因子負荷的符號有正有負時,綜合評價函數意義就不明確。
總結
以上是生活随笔為你收集整理的主成分分析以及应用:企业综合实力排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度极速版怎么无法提现(登录百度帐号)
- 下一篇: 中国建设银行app怎么查账单明细(《中国