
主成分分析和因子分析及其在R中的…
主成分分析和探索性因子分析是兩種用來探索和簡化多變量復(fù)雜關(guān)系的常用方法,它們之間有聯(lián)系也有區(qū)別。
主成分分析(PCA)是一種數(shù)據(jù)降維方法,它能將大量相關(guān)變量轉(zhuǎn)化為一組很少的不相關(guān)變量,這些無關(guān)變量稱為主成分。例如,使用PCA可將30個(gè)相關(guān)(很可能冗余)的環(huán)境變量轉(zhuǎn)化為5個(gè)無關(guān)的成分變量,并且盡可能地保留原始數(shù)據(jù)集的信息。
相對而言,探索性因子分析(EFA)是一系列用來發(fā)現(xiàn)一組變量的潛在結(jié)構(gòu)的方法。它通過尋找一組更小的、潛在的或隱藏的結(jié)構(gòu)來解釋已觀測到的、顯式的變量間的關(guān)系。
從上圖可以看出,主成分(PC1和PC2)是觀測變量(X1到X5)的線性組合。形成線性組合的權(quán)重都是通過最大化各主成分所解釋的方差來獲得,同時(shí)還要保證個(gè)主成分間不相關(guān)。相反,因子(F1和F2)被當(dāng)做是觀測變量的結(jié)構(gòu)基礎(chǔ)或“原因”,而不是它們的線性組合。代表觀測變量方差的誤差(e1到e5)無法用因子來解釋。圖中的圓圈表示因子和誤差無法直接觀測,但是可通過變量間的相互關(guān)系推導(dǎo)得到。在本例中,因子間帶曲線的箭頭表示它們之間有相關(guān)性。在EFA模型中,相關(guān)因子是常見的,但并不是必需的。
2 R中的主成分因子分析
R的基礎(chǔ)安裝包提供了PCA和EFA的函數(shù),分別為princomp()和factanal()。下文將重點(diǎn)介紹psych包中提供的函數(shù),它們提供了比基礎(chǔ)函數(shù)更豐富和有用的選項(xiàng)。
psych包中有用的因子分析函數(shù)
因子分析常見步驟:
(1)數(shù)據(jù)預(yù)處理。兩種方法都是根據(jù)觀測變量間的相關(guān)性來推導(dǎo)結(jié)果,可以輸入原始數(shù)據(jù)矩陣或相關(guān)系數(shù)矩陣。
(2)選擇因子模型。判斷是選擇主成分分析(數(shù)據(jù)降維)還是探索性因子分析(發(fā)現(xiàn)潛在結(jié)構(gòu))。如果選擇因子分析方法,還需要選擇一種估計(jì)因子模型的方法(如最大似然估計(jì))。
(3)判斷要選擇的主成分/因子數(shù)目
(4)選擇主成分/因子
(5)旋轉(zhuǎn)主成分/因子
(6)解釋結(jié)果
3 主成分分析
第一主成分是對原來觀測變量的加權(quán)組合,對初始變量集的方差解釋性最大。第二主成分次之,同時(shí)與第一成分正交(不相關(guān))。
1判斷主成分個(gè)數(shù)
判斷需要多少個(gè)主成分的準(zhǔn)則:
A根據(jù)先驗(yàn)經(jīng)驗(yàn)和理論知識判斷主成分分?jǐn)?shù)
B根據(jù)要解釋變量方差的積累值的閾值來判斷需要的主成分?jǐn)?shù)
C通過檢查變量間k×k的相關(guān)系數(shù)矩陣來判斷保留的主成分?jǐn)?shù)
最常見的是基于特征值的方法。每個(gè)主成分都與相關(guān)系數(shù)矩陣的特征值相關(guān)聯(lián),第一主成分
與最大的特征值相關(guān)聯(lián),第二主成分與第二大的特征值相關(guān)聯(lián),依此類推。
Kaiser-Harris準(zhǔn)則建議保留特征值大于1的主成分,特征值小于1的成分所解釋的方差比包含在單個(gè)變量中的方差更少。
Cattell碎石檢驗(yàn)則繪制了特征值與主成分?jǐn)?shù)的圖形。這類圖形可以清晰地展示圖形彎曲狀況,
在圖形變化最大處之上的主成分都可保留。
最后,也可以進(jìn)行模擬,依據(jù)與初始矩陣相同大小的隨機(jī)數(shù)據(jù)矩陣來判斷要提取的特征值。若基于真實(shí)數(shù)據(jù)的某個(gè)特征值大于一組隨機(jī)數(shù)據(jù)矩陣相應(yīng)的平均特征值,那么該主成分可以保留。該方法稱作平行分析。
利用fa.parallel()函數(shù),你可以同時(shí)對三種特征值判別準(zhǔn)則進(jìn)行評價(jià)。
格式:fa.parallel(data, fa=”PC”, n.iter=100,show.legend=FALSE, main=””)
2提取主成分
principal()函數(shù)可以根據(jù)原始數(shù)據(jù)矩陣或者相關(guān)系數(shù)矩陣做主成分分析。
格式為:principal(r,nfactors=,rotate=,scores=)
其中:r是相關(guān)系數(shù)矩陣或原始數(shù)據(jù)矩陣;
nfactors設(shè)定主成分?jǐn)?shù)(默認(rèn)為1);
rotate指定旋轉(zhuǎn)的方法(默認(rèn)最大方差旋轉(zhuǎn)(varimax));
scores設(shè)定是否需要計(jì)算主成分得分(默認(rèn)不需要)。
輸出結(jié)果解釋:
PC1、PC2欄包含了成分載荷,指觀測變量與主成分的相關(guān)系數(shù)。
h2欄指成分因子方差——主成分對每個(gè)變量的方差解釋度。
u2欄指成分唯一性——方差無法被主成分解釋的比例(1-h2)。
SS loadings行包含了與主成分相關(guān)聯(lián)的特征值,指與特定主成分相關(guān)聯(lián)的標(biāo)準(zhǔn)化后的方差值。
Proportion Var行表示的是每個(gè)主成分對整個(gè)數(shù)據(jù)集的解釋程度。
3主成分旋轉(zhuǎn)
旋轉(zhuǎn)是一系列將成分載荷陣變得更容易解釋的數(shù)學(xué)方法,它們盡可能地對成分去噪。旋轉(zhuǎn)方法有兩種:使選擇的成分保持不相關(guān)(正交旋轉(zhuǎn)),和讓它們變得相關(guān)(斜交旋轉(zhuǎn))。最流行的正交旋轉(zhuǎn)是方差極大旋轉(zhuǎn),它試圖對載荷陣的列進(jìn)行去噪,使得每個(gè)成分只是由一組有限的變量來解釋(即載荷陣每列只有少數(shù)幾個(gè)很大的載荷,其他都是很小的載荷)。
以方差極大旋轉(zhuǎn)為例,旋轉(zhuǎn)后,主成分仍不相關(guān),對變量的解釋性不變,累計(jì)方差解釋性也沒有變化,變的只是各個(gè)主成分對方差的解釋度(即線性系數(shù))。
4獲取主成分得分
Principal函數(shù)中score=TRUE時(shí),即返回每個(gè)對象在主成分上的得分。當(dāng)輸入數(shù)據(jù)是相關(guān)系數(shù)矩陣時(shí),則不可能獲取每個(gè)觀測的主成分得分,但可以得到用來計(jì)算主成分得分的系數(shù)。
4 探索性因子分析
EFA的目標(biāo)是通過發(fā)掘隱藏在數(shù)據(jù)下的一組較少的、更為基本的無法觀測的變量,來解釋一組可觀測變量的相關(guān)性。這些虛擬的、無法觀測的變量稱作因子。(每個(gè)因子被認(rèn)為可解釋多個(gè)觀測變量間共有的方差,因此準(zhǔn)確來說,它們應(yīng)該稱作公共因子)。
1判斷需提取的公共因子數(shù)
同樣使用fa.parallel函數(shù),令fa=”both”,因子圖形將會(huì)同時(shí)展示主成分和公共因子分析的結(jié)果。
對于EFA,Kaiser-Harris準(zhǔn)則的特征值數(shù)大于0,而不是1
2提取公共因子
fa(r,nafctors=,n.obs=,rotate=,scores=,fm=)
其中:r是相關(guān)系數(shù)矩陣或者原始數(shù)據(jù)矩陣;
nfactors設(shè)定提取的因子數(shù)(默認(rèn)為1);
n.obs是觀測數(shù)(輸入相關(guān)系數(shù)矩陣時(shí)需要填寫);
rotate設(shè)定旋轉(zhuǎn)的方法(默認(rèn)互變異數(shù)最小法);
scores設(shè)定是否計(jì)算因子得分(默認(rèn)不計(jì)算);
fm設(shè)定因子化方法(默認(rèn)極小殘差法)。
與PCA不同,提取公共因子的方法很多,包括最大似然法(ml)、主軸迭代法(pa)、加權(quán)
最小二乘法(wls)、廣義加權(quán)最小二乘法(gls)和最小殘差法(minres)。統(tǒng)計(jì)學(xué)家青睞使用最大似然法,因?yàn)樗辛己玫慕y(tǒng)計(jì)性質(zhì)。不過有時(shí)候最大似然法不會(huì)收斂,此時(shí)使用主軸迭代法效果會(huì)很好。
3因子旋轉(zhuǎn)
使用正交旋轉(zhuǎn)將人為地強(qiáng)制兩個(gè)因子不相關(guān)。使用斜交轉(zhuǎn)軸法,則允許兩個(gè)因子相關(guān)。
對于正交旋轉(zhuǎn),因子分析的重點(diǎn)在于因子結(jié)構(gòu)矩陣(變量與因子的相關(guān)系數(shù)),而對于斜交旋轉(zhuǎn),因子分析會(huì)考慮三個(gè)矩陣:因子結(jié)構(gòu)矩陣、因子模式矩陣和因子關(guān)聯(lián)矩陣。
因子模式矩陣即標(biāo)準(zhǔn)化的回歸系數(shù)矩陣。它列出了因子預(yù)測變量的權(quán)重。PA1,PA2…
因子關(guān)聯(lián)矩陣即因子相關(guān)系數(shù)矩陣。
因子結(jié)構(gòu)矩陣(或稱因子載荷陣)在輸出結(jié)果上沒顯示出來。
4因子得分
因子分析不怎么關(guān)注因子得分
5其他與EFA相關(guān)的包
FactoMineR包不僅提供了PCA和EFA方法,還包含潛變量模型。
FaiR包用遺傳算法來估計(jì)因子分析模型。
GPArotation包則提供了許多因子旋轉(zhuǎn)方法。
nFactors包提供了用來判斷因子數(shù)目的許多復(fù)雜方法
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10