R數(shù)據(jù)分析:主成分分析及可視化

Principal Component Analysis (PCA) is a useful technique for exploratory data analysis, allowing you to better visualize the variation present in a dataset with many variables.

主成分分析是一個(gè)常見(jiàn)的降維,探索性技術(shù),常常在量表編制或者其它變量較多數(shù)據(jù)集分析的時(shí)候會(huì)用到,今天給大家寫(xiě)寫(xiě)R語(yǔ)言中如何快速高效的進(jìn)行PCA和可視化。

數(shù)據(jù)介紹及PCA

今天用R中自帶的數(shù)據(jù)集mtcars,這個(gè)數(shù)據(jù)集只有32個(gè)觀測(cè),但是有11個(gè)變量,太多了,我們就做PCA選個(gè)主成分出來(lái):

這兒大家得注意主成分分析只能應(yīng)用于數(shù)值變量,而且變量必須標(biāo)準(zhǔn)化

  • PCA only works with numeric data
  • Categorical data must be encoded as numeric data (e.g. one-hot)
  • Numeric data must be scaled (otherwise your PCA will be misleading)
str(mtcars)
image

可以看到我們的數(shù)據(jù)全是數(shù)值變量但是沒(méi)有標(biāo)準(zhǔn)化,所以我們?cè)谧鯬CA的時(shí)候記得要將它標(biāo)準(zhǔn)化一波,很簡(jiǎn)單,只要設(shè)置scale的參數(shù)為真就行:

mtcars.pca <- prcomp(mtcars, center = TRUE,scale. = TRUE)
summary(mtcars.pca)

上面的代碼就實(shí)現(xiàn)了整個(gè)數(shù)據(jù)的主成分分析,并且輸出了我們的每個(gè)主成分解釋的方法比。

image

很多時(shí)候,我們還需要畫(huà)一個(gè)碎石圖來(lái)決定保留多少個(gè)主成分,這個(gè)也非常容易實(shí)現(xiàn):

screeplot(mtcars.pca,type = 'lines')
image

主成分可視化

最有意思的就是我們可以很方便地畫(huà)出來(lái)變量和主成分之間的關(guān)系:

library(ggbiplot)
ggbiplot(mtcars.pca)

[圖片上傳失敗...(image-61dd3-1612180472184)]

在上圖中,所有的主成分都是從圖中心發(fā)出的,我們可以看到hp,cyl,disp,wt這些變量是對(duì)主成分1貢獻(xiàn)較大的,到這兒其實(shí)還不夠,我們這個(gè)數(shù)據(jù)集是關(guān)于車車的,我們還想看那些車車在哪些變量上表現(xiàn)較好,

這個(gè)時(shí)候我們可以給圖中的樣本點(diǎn)加上標(biāo)簽:

ggbiplot(mtcars.pca, labels=rownames(mtcars))
image

這樣你就可以看到那些樣本點(diǎn)的特征最相近。

還有

你可以給你的樣本點(diǎn)分組展示,比如在我的例子中,有的車車是日本的,有的是美國(guó)的,有的是歐洲的,我想看看不同的國(guó)家的車車在每個(gè)變量每個(gè)主成分上表現(xiàn)如何:

mtcars.country <- c(rep("Japan", 3), rep("US",4), rep("Europe", 7),rep("US",3), "Europe", rep("Japan", 3), rep("US",4), rep("Europe", 3), "US", rep("Europe", 3))

ggbiplot(mtcars.pca,ellipse=TRUE,  labels=rownames(mtcars), groups=mtcars.country)
image

可以看到,有了組別變量之后,出圖時(shí)會(huì)自動(dòng)的加上圈圈和圖例

有了圈圈我們就可以發(fā)現(xiàn),美國(guó)車車的hp,cyl,disp,wt這幾個(gè)特征比較猛!美國(guó)車車和日本車車的差異還是比較大的。

當(dāng)然了,上面的分析只是我在第一組成分和第二主成分的視角下得到的。、

我想看別別的主成分,比如PC3,PC4行不?

安排:

ggbiplot(mtcars.pca,ellipse=TRUE,choices=c(3,4),   labels=rownames(mtcars), groups=mtcars.country)
image

此時(shí),我們發(fā)現(xiàn)亂了套了,因?yàn)?,4主成分本來(lái)解釋的變異就不大了,所以三個(gè)國(guó)家車車在這個(gè)圖中表現(xiàn)不出來(lái)差異也就正常了,所以通常默認(rèn)我們會(huì)在1,2主成分視角下展示我們的數(shù)據(jù)。

小結(jié)

今天給大家寫(xiě)了主成分分析的做法和可視化,感謝大家耐心看完,自己的文章都寫(xiě)的很細(xì),代碼都在原文中,希望大家都可以自己做一做,如果對(duì)您有用請(qǐng)先收藏,再點(diǎn)贊轉(zhuǎn)發(fā)。

也歡迎大家的意見(jiàn)和建議。

如果你是一個(gè)大學(xué)本科生或研究生,如果你正在因?yàn)槟愕慕y(tǒng)計(jì)作業(yè)、數(shù)據(jù)分析、論文、報(bào)告、考試等發(fā)愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問(wèn)題,都可以聯(lián)系我。因?yàn)槲铱梢越o您提供最好的,最詳細(xì)和耐心的數(shù)據(jù)分析服務(wù)。

如果你對(duì)Z檢驗(yàn),t檢驗(yàn),方差分析,多元方差分析,回歸,卡方檢驗(yàn),相關(guān),多水平模型,結(jié)構(gòu)方程模型,中介調(diào)節(jié),量表信效度等等統(tǒng)計(jì)技巧有任何問(wèn)題,請(qǐng)私信我,獲取最詳細(xì)和耐心的指導(dǎo)。

If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.

Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??

Then Contact Me. I will solve your Problem...

加油吧,打工人!

往期內(nèi)容

R數(shù)據(jù)分析:如何計(jì)算問(wèn)卷的組合信度,實(shí)例操練

R數(shù)據(jù)分析:如何計(jì)算問(wèn)卷的聚合效度,實(shí)例操練

R數(shù)據(jù)分析:用R語(yǔ)言做潛類別分析LCA

R數(shù)據(jù)分析:中介作用與調(diào)節(jié)作用的分析與解釋

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容