一、實驗目的:熟悉主成分析的思想,掌握求主成分的方法以及R語言代碼
二、實驗內容:對於從不同的數據出發,掌握三種求主成分的方法,以及相應的R語言代碼。同時要求對命令輸出結果進行理解,解釋。
三、實驗設備與平臺:R語言
四、涉及的知識點:數據標準化,矩陣的特徵值,特徵向量,協方差矩陣,變量的相關係數矩陣,主成分分析思想,求解主成分的方法。
五、實驗過程: 從協方差矩陣出發,求主成分。
Comp.s爲從協方差矩陣求主成分的函數,輸出結果爲list形式。 其中,CP爲累計貢獻率,當累計貢獻率超過80%,即可確認主成分的個數m。 values爲協方差矩陣的特徵值 vectors爲協方差矩陣的特徵值對應特徵向量 輸出結果如下:
由結果可知,當m取2的時候累計貢獻率達到94.2179%大於80%,即認爲這兩個主成分以提取了絕大部分原數據的信息。 以下爲第一,第二主成分Z.1,Z.2 Z.1=0.88915x1+0.30956x2+0.33701x3 Z.2=0.32290x1-0.94628x2+0.01726x3 對於數據存在量綱的不同,要對數據進行中心化或者標準化。
|
從相關係數矩陣出發,求主成分分析
由結果可知,從相關係數矩陣出發,求得的主成分和從協方差出發求得的主成分的結果一樣。
相關過程解釋也和上述一樣。
------------------------------------------------------------------------------------------------------------------------------
由上述輸出結果可得,m取2的時候,累計貢獻率高達94.2179%,大於80%,即m=2.
由協方差矩陣的特徵值以及特徵向量可以得到兩個主成分爲: Z.1=0.8892x1+0.3096x2+0.3370x3 Z.2=0.3229x1-0.9462x2+0.0172x3
由結果可知,從相關係數矩陣出發,求得的主成分和從協方差出發求得的主成分的結果一樣。
相關過程解釋也和上述一樣。 對於主成分分析的基本原理,可以參考一下點擊打開鏈接(轉http://www.cnblogs.com/pinard/)
|