主成分分析和探索性因子分析是兩種用來(lái)探索和簡(jiǎn)化多變量復(fù)雜關(guān)系的常用方法。
主成分分析(PCA)是一種將數(shù)據(jù)降維技巧科盛,它將大量相關(guān)變量轉(zhuǎn)化成一組很少的不相關(guān)變量兄世,這些無(wú)相關(guān)變量稱為主成分甜孤。
探索性因子分析(EFA)是一系列用來(lái)發(fā)現(xiàn)一組變量的潛在結(jié)構(gòu)的方法老速。
R基礎(chǔ)安裝包提供了PCA和EFA的函數(shù)粥喜,分別是princomp()和factanal()。本章重點(diǎn)介紹psych包中提供的函數(shù)橘券,該包提供了比基礎(chǔ)函數(shù)更豐富和有用的選項(xiàng)额湘。
- principal() 含多種可選的方差旋轉(zhuǎn)方法的主成分分析卿吐;
- fa() 可用主軸、最小殘差锋华、加權(quán)最小平方或最大似然法估計(jì)的因子分析嗡官;
- fa.parallel() 含平行分析的碎石圖;
- factor.polt() 繪制因子分析或主成分分析的結(jié)果供置;
- fa.diagram() 繪制因子分析或主成分的載荷矩陣谨湘;
- scree() 因子分析和主成分分析的碎石圖
最常見(jiàn)步驟
1、數(shù)據(jù)預(yù)處理芥丧,在計(jì)算前請(qǐng)確保數(shù)據(jù)沒(méi)有缺失值;
2坊罢、選擇因子模型续担,是選擇PCA還是EFA,如果選擇EFA活孩,需要選擇一種估計(jì)因子模型物遇,如最大似然法估計(jì);
3憾儒、判斷要選擇的主成分/因子數(shù)目询兴;
4、選擇主成分/因子起趾;
5诗舰、旋轉(zhuǎn)主成分/因子;
6训裆、解釋結(jié)果眶根;
7、計(jì)算主成分或因子得分边琉。
主成分分析
- 例1主成分分析属百,USJudgeRatings數(shù)據(jù)集包含了律師對(duì)美國(guó)高等法院法官的評(píng)分。
加載psych包
library(ggplot2)
library(psych)
展示基于觀測(cè)特征值的碎石檢驗(yàn)变姨、根據(jù)100個(gè)隨機(jī)數(shù)據(jù)矩陣推導(dǎo)出來(lái)的特征值均值族扰、以及大于1的特征值準(zhǔn)則(Y=1的水平線)
fa.parallel(USJudgeRatings[, -1], fa = "pc", n.iter = 100, show.legend = FALSE, main = 'Scree plot with parallel analysis')
對(duì)數(shù)據(jù)USJudgeRatings進(jìn)行主成分分析
pc<-principal(USJudgeRatings[, -1],nfactors=1)
pc
- 例2主成分分析,Harman23.cor數(shù)據(jù)集包含了305個(gè)女孩的8個(gè)身體指標(biāo)
加載psych包
library(ggplot2)
library(psych)
展示基于觀測(cè)特征值的碎石檢驗(yàn)定欧、根據(jù)100個(gè)隨機(jī)數(shù)據(jù)矩陣推導(dǎo)出來(lái)的特征值均值渔呵、以及大于1的特征值準(zhǔn)則(Y=1的水平線)
fa.parallel(Harman23.cor$cov, n.obs=305,fa = "pc", n.iter = 100, show.legend = FALSE, main = 'Scree plot with parallel analysis')
對(duì)數(shù)據(jù)Harman23.cor進(jìn)行主成分分析
pc2<-principal(Harman23.cor$cov,nfactors=2,rotate = 'none')
pc2
- 例3主成分旋轉(zhuǎn),Harman23.cor數(shù)據(jù)集包含了305個(gè)女孩的8個(gè)身體指標(biāo)
旋轉(zhuǎn)是一系列將成分載荷變得更容易解釋的數(shù)學(xué)方法忧额,它們盡可能地對(duì)成分去噪厘肮。
rc2<-principal(Harman23.cor$cov,nfactors = 2,rotate='varimax')
rc2
獲得主成分得分,USJudgeRatings數(shù)據(jù)集包含了律師對(duì)美國(guó)高等法院法官的評(píng)分睦番。
library(ggplot2)
library(psych)
pc3<-principal(USJudgeRatings[, -1],nfactors=1,scores=TRUE)
pc3
head(pc3$scores)
獲得律師與法官的接觸頻數(shù)與法官評(píng)分間的相關(guān)系數(shù),執(zhí)行結(jié)果看到兩者關(guān)聯(lián)非常小类茂。
cor(USJudgeRatings$CONT,pc3$scores)
獲取主成分得分的系數(shù)耍属,Harman23.cor數(shù)據(jù)集包含了305個(gè)女孩的8個(gè)身體指標(biāo)
當(dāng)主成分分析基于相關(guān)系數(shù)矩陣(如Harman23.cor$cov)時(shí),原始數(shù)據(jù)便不可用了巩检,也不可能獲取每個(gè)觀測(cè)的主成分得分厚骗,但是可以得到用來(lái)計(jì)算主成分得分的系數(shù)。
在身體測(cè)量數(shù)據(jù)中兢哭,有各個(gè)身體測(cè)量指標(biāo)間的相關(guān)系數(shù)领舰,但是沒(méi)有305個(gè)女孩的個(gè)體測(cè)量值。
library(ggplot2)
library(psych)
rc3<-principal(Harman23.cor$cov,nfactors = 2,rotate='varimax')
round(unclass(rc3$weights),2)
利用如下公式可以得到主成分得分
pc1=0.28height+0.30arm.span+0.30forearm+0.28lower.leg-0.06weight-0.08bitro.diamete-0.10chest.girth-0.04chest.width
pc2=-0.05height-0.08arm.span-0.09forearm-0.06lower.leg+0.33weight+0.32bitro.diamete+0.34chest.girth+0.27chest.width