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