R中的主成分和因子分析


  • 主成分分析(PCA)
a、一種降維技巧,將大量相關變量轉化爲一組不多的相關變量,這些 無關變量稱爲主成分
b、用一組較少的不相關變量代替大量相關變量,同時儘量保留初始變量的信息,,推導所獲得的變量稱爲主成分,它們是觀測變量的線性組合,如第一主成分爲:
    
    一、它是 k 個觀測變量的加權組合,對初始變量集的方差解釋性最大
    二、第二主成分也是初始變量的線性組合,對方差的解釋性排第二,同時與第一主成分正交(不相關),後面每個主成分都最大化它對方差的解釋程度,同時與之全部的主成分都正交


  • 探索性因子分析(EFA)
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倍於變量數的樣本數
二、最近研究代表:所需樣本量依賴於因子數目、與各因子相關聯的變量數,以及因子對變量方差的解釋程度

  • psych包
R的基礎安裝包提供了 PCA 和 EFA 的函數,分別爲 princomp() 和 factanal() ,但 psych包中有更好的函數
                                psych包中有用的因子分析函數
函數 描述
principal() 含多種可選的方差旋轉方法的主成分分析
fa() 可用主軸、最小殘差、加權最小平方或最大似然法估計的因子分析
fa.parallel() 含平行分析的碎石圖
factor.plot() 繪製因子分析或主成分分析的結果
fa.diagram() 繪製因子分析或主成分的載荷矩陣
scree() 因子分析和主成分分析的碎石圖

  • PCA/EFA步驟
a、數據預處理
    PCA 和 EFA 都根據觀測變量間的相關性來推導結果,用戶可輸入原始數據矩陣或相關矩陣到 principal() 和 fa() 函數中。若輸入初始數據,相關係數矩陣將會被動自動計算,在計算前請確保數據中沒有缺失值
b、選擇因子模型
     判斷是 PCA(數據降維)仍是 EFA(發現潛在結構)更符合你的研究目標。若是選擇 EFA 方法,你還須要選擇一個估計因子模型方法(如最大似然估計)
c、判斷要選擇的主成分/因子數目
d、選擇主成分/因子
e、旋轉主成分/因子
f、解釋結果
g、計算主成分或因子得分


  • 主成分/探索因子分析的分析步驟圖
相關文章
相關標籤/搜索