主成分分析的可视化展示
一、主成分分析簡介
在對于一件事物的研究過程中,為了準確的反映事物間的關系,往往需要收集多維指標,以保證盡可能全面地收集信息。然而多維指標往往會提高分析人員的分析難度,并且相似變量也造成了信息重疊,不利于準確提煉數據關系的本質。?
主成分分析法(PCA)就是一種常見的降維算法,它能夠降低數據維度,減少高維數據分析難度。主成分分析法能夠在實現降維的同時,能夠盡量的保證信息損失。因此在很多分析工作中,可以通過提煉主成分的方式,僅依靠少數幾個線性組合代替原先的數據集,既提高了數據分析效率,又避免了數據信息的過多損失。?
二、R包介紹
FactoMineR包是主要用于多元統計分析的R包,它能輕松實現主成分分析、因子分析、聚類分析等多元統計分析方法,并提供對分析結果做可視化的分析工具。factoextra包也是多元統計分析包的主要組件,它主要用于提取多元統計分析結果,并進行可視化探索。本文將基于FactoMineR包和factoextra包進行主成分分析。?
FactoMineR包的主要函數:
PCA:用于主成分分析的方法
HCPC:層次聚類分析法
MCA:多重對應分析
MFA:多因素分析
FAMD: 混合數據因子分析
CA : 對應分析
factoextra包的主要函數:
fviz_pca:可視化PCA分析
fviz_mca:可視化多重對應分析
fviz_hmfa_var:可視化多因素分析
eclust:可視化聚類分析結果
三、數據簡介
使用Datasets包里的mtcars數據集作為主成分分析的測試數據。mtcars數據集記錄了32種不同品牌的轎車的的11個屬性,分別為:?
mpg:?數值型,車輛油耗,單位是每加侖英里數
cyl:?數值型,氣缸數
disp:?數值型,發動機排量
hp:?數值型,馬力數
drat:?數值型,后橋速比
wt:?數值型,車身重量,單位為千磅
qsec:?數值型,四分之一英里加速時間
vs:?數值型,V/S
am:?數值型,0=自動擋,1=手動擋
gear:?數值型,前進檔位數?
carb:?數值型,化油器數量?
四、主成分分析可視化
本文采用FactoMineR包的PCA方法進行主成分分析,并以factoextra包進行分析及可視化。?
library(FactoMineR) library(factoextra) library(datasets) res.pca <- PCA(mtcars, graph = FALSE,scale.unit=T)對于主成分分析,首先需要判斷選擇多少個主成分合適,一般可以選擇特征值大于1的主成分。可以通過factoextra包的get_eigenvalue函數來輸出特征值,具體見下圖。?
eigenvalue為特征值,variance.percent為主成分的方差貢獻率,cumulative.variance.percent為累積防擦好貢獻率。除了通過特征值設定閾值外,還可以通過特征值的累積貢獻率來選擇主成分數量。?
1.碎石圖
通過各主成分的方差貢獻率,可以繪制如下這張碎石頭圖:
從碎石圖上看,前三個主成分的累積貢獻率接近90%,因此可以考慮選擇前三個主成分輸出。?
除了特征值外,還可以通過get_pca_var函數來提取主成分分析結果中的其它變量。?
var <- get_pca_var(res.pca)2.變量相關圖
通過fviz_pca_var函數,可以展示變量與主成分間的相關關系。我們以cos2這個指標為例,cos2反映了各個主成分中各個變量的代表性,一個變量的所有主成分cos2值加起來等于1。對于主成分而言,某個變量的cos2越接近1,則說明變量對該主成分的代表性越高;cos2越接近0,則說明變量對該主成分的代表性越差。我們以第一、第二兩類主成分為例:?
fviz_pca_var(res.pca, col.var = "cos2",gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"))上面這張圖為變量相關圖,反映了變量與主成分之間的相關關系,圖上的變量越接近圓周,則表示該變量對主成分的代表性越強;越接近圓心,則表示該變量對主成分的代表性越差。各變量到各個維度的距離則表現各變量對該主成分的代表性,即cos2。從圖上看,mpg、cyl、disp、wt對第一主成分具有較高的代表性,但是對于第二主成分則不具有顯著的代表性。?
3.變量貢獻圖
fviz_contrib()則展示了各變量對主成分的貢獻圖,以第一、第二、主成分為例:
紅線表示各變量的平均貢獻率。?
4.主成分樣本散點圖
對于給定的樣本點,可以對樣本點的主成分得分與主成分進行相關關系展示,以此來區分個樣本點的區別與相似。
如果按照汽車品牌的國家分類的話,還可以在圖中對樣本點進行分組:?
從圖上可以看出來,不同類比的汽車被聚集在了一起。右上角Maserati Bora, Ferrari Dino and Ford Pantera L三類汽車被聚集在了一起,因為他們都是跑車系列;Mazda RX4和Mazda RX4 Wag聚集在了一起,因為他們都是Mazda系列;從品牌的國家分類看,美國系列的汽車均處于圖片的右下角,具有明顯的辨識度。
一文讀懂PCA分析 (原理、算法、解釋和可視化)
PCA主成分分析實戰和可視化 | 附R代碼和測試數據
往期精品(點擊圖片直達文字對應教程)
機器學習
后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集
總結
以上是生活随笔為你收集整理的主成分分析的可视化展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Mfuzz包进行基因表达的时间趋势分
- 下一篇: 给地球上的22.8万种植物建立图像索引