a、一種降維技巧,將大量相關變量轉化爲一組不多的相關變量,這些
無關變量稱爲主成分
b、用一組較少的不相關變量代替大量相關變量,同時儘量保留初始變量的信息,,推導所獲得的變量稱爲主成分,它們是觀測變量的線性組合,如第一主成分爲:
一、它是 k 個觀測變量的加權組合,對初始變量集的方差解釋性最大
二、第二主成分也是初始變量的線性組合,對方差的解釋性排第二,同時與第一主成分正交(不相關),後面每個主成分都最大化它對方差的解釋程度,同時與之全部的主成分都正交
a、一系列用來發現一組變量的潛在結構方法。他經過尋找一組更小,潛在的或隱藏的結構來解釋已觀測到的、顯式的變量間的關係
b、EFA的目標是經過發掘隱藏在數據下的一組較少的,更爲基本的沒法觀測的變量,來解釋一組可觀測變量的相關性。這些虛擬的、沒法觀測的變量稱作因子(每一個因子被承認解釋多個觀測變量間共有方差,所以準確來講,他們應該成爲公共因子),模型的形式爲
一、Xi是第 i 個可觀測變量(i=1...k
),Fj 是公共因子(j=1...p),而且 p < k。Ui是 Xi變量獨有的部分(沒法被公共因子解釋)
二、ai可認爲是每一個因子對複合而成的可觀測變量的貢獻值
主成分(PC1和PC2)是觀測變量(X1和X5)的線性組合,
造成線性組合的權重都是經過最大化各主成分解釋的方差來得到的,同時還要保證各主成分間不相關;
相反,因子(F1和F2)被看成觀測變量的結構基礎或「緣由」,而不是線性組合。表明觀測變量方差的偏差(e1到e5)沒法用因子來解釋。圖中的表示因子和偏差沒法直接觀測,但能夠經過變量間的相互關係推導獲得,本例中,因子間帶曲線的箭頭表示它們之間有相關性。在EFA模型中,相關因子是常見的,但並非必需的
主成分分析和因子分析模型
注:
一、兩種方法都須要大樣原本支持穩定的結果,目前經驗是:因子分析須要5-10倍於變量數的樣本數
二、最近研究代表:所需樣本量依賴於因子數目、與各因子相關聯的變量數,以及因子對變量方差的解釋程度
R的基礎安裝包提供了 PCA 和 EFA 的函數,分別爲 princomp() 和 factanal() ,但 psych包中有更好的函數
psych包中有用的因子分析函數
函數 |
描述 |
principal() |
含多種可選的方差旋轉方法的主成分分析 |
fa() |
可用主軸、最小殘差、加權最小平方或最大似然法估計的因子分析 |
fa.parallel() |
含平行分析的碎石圖 |
factor.plot() |
繪製因子分析或主成分分析的結果 |
fa.diagram() |
繪製因子分析或主成分的載荷矩陣 |
scree() |
因子分析和主成分分析的碎石圖 |
a、數據預處理
PCA 和 EFA 都根據觀測變量間的相關性來推導結果,用戶可輸入原始數據矩陣或相關矩陣到 principal() 和 fa() 函數中。若輸入初始數據,相關係數矩陣將會被動自動計算,在計算前請確保數據中沒有缺失值
b、選擇因子模型
判斷是 PCA(數據降維)仍是 EFA(發現潛在結構)更符合你的研究目標。若是選擇 EFA 方法,你還須要選擇一個估計因子模型方法(如最大似然估計)
c、判斷要選擇的主成分/因子數目
d、選擇主成分/因子
e、旋轉主成分/因子
f、解釋結果
g、計算主成分或因子得分