因子分析如何解釋協方差而 PCA 解釋方差?
這是 Bishop 的“模式識別和機器學習”一書第 12.2.4 節“因子分析”的引述:
根據突出顯示的部分,因子分析捕獲矩陣中變量之間的協方差. 我想知道如何?
這是我的理解。說是觀察到的-維變量,是因子加載矩陣,並且是因子得分向量。然後我們有
那是
和每一列是一個因子加載向量
正如我所寫的,擁有列表示有考慮的因素。 現在是重點,根據突出顯示的部分,我認為每列中的負載解釋觀察數據中的協方差,對嗎?
比如我們看一下第一個加載向量, 為了, 如果,和,那麼我會說**和高度相關,而似乎與他們無關,**對嗎?
如果這就是因子分析如何解釋觀察到的特徵之間的協方差,那麼我會說 PCA 也解釋了協方差,對吧?
許多關於多元技術的教科書和文章都討論了主成分分析和因子分析之間的區別。您也可以在此站點上找到完整的主題、更新的主題和奇怪的答案。
我不打算詳細說明。我已經給出了一個簡潔的答案和一個更長的答案,現在想用一對圖片來澄清它。
圖示
下圖解釋了PCA。(這是從這裡借用的,其中 PCA 與線性回歸和典型相關進行了比較。圖片是*主題空間*中變量的向量表示;要了解它是什麼,您可能需要閱讀那裡的第二段。)
那裡描述了這張圖片上的 PCA 配置。我將重複最重要的事情。主成分 $ P_1 $ 和 $ P_2 $ 位於變量跨越的同一空間中 $ X_1 $ 和 $ X_2 $ ,“平面 X”。四個向量中每一個向量的平方長度就是它的方差。之間的協方差 $ X_1 $ 和 $ X_2 $ 是 $ cov_{12}= |X_1||X_2|r $ , 在哪裡 $ r $ 等於它們向量之間夾角的餘弦值。
變量在組件上的投影(坐標), $ a $ ’s, 是分量對變量的載荷:載荷是標準化分量建模變量線性組合中的回歸係數。“標準化” - 因為有關組件方差的信息已經被吸收在載荷中(請記住,載荷是歸一化到各自特徵值的特徵向量)。由於這一點,以及組件不相關的事實,載荷是變量和組件之間的協方差。
使用 PCA 進行降維/數據縮減目標迫使我們只保留 $ P_1 $ 並考慮 $ P_2 $ 作為餘數或錯誤。 $ a_{11}^2+a_{21}^2= |P_1|^2 $ 是通過以下方式捕獲(解釋)的方差 $ P_1 $ .
下圖展示了對相同變量進行的因子分析 $ X_1 $ 和 $ X_2 $ 我們在上面做了 PCA。(我會說公因子模型,因為還有其他:阿爾法因子模型,圖像因子模型。)笑臉太陽有助於照明。
共同因素是 $ F $ . 它是主要組件的類似物 $ P_1 $ 多於。你能看出這兩者的區別嗎?是的,很明顯:因素不在於變量的空間“平面 X”。
如何用一根手指得到那個因子,即做因子分析?我們試試吧。在上一張圖片上,勾上結尾 $ P_1 $ 用你的指甲尖箭頭並遠離“平面 X”,同時想像兩個新平面是如何出現的,“平面 U1”和“平面 U2”;這些連接鉤子向量和兩個變量向量。這兩個平面在“平面 X”上方形成一個罩子 X1 - F - X2。
在考慮引擎蓋的同時繼續拉動,當“平面 U1”和“平面 U2”在它們之間形成90 度時停止。準備好了,因子分析就完成了。嗯,是的,但還不是最佳的。要做到正確,就像包裹一樣,重複拉箭頭的整個練習,現在在拉箭頭時增加手指的左右擺動。這樣做,當兩個變量的平方投影之和最大化時,找到箭頭的位置,同時達到 90 度角。停止。你做了因子分析,找到了公因子的位置 $ F $ .
再次說明,與主成分不同 $ P_1 $ , 因素 $ F $ 不屬於變量空間“平面X”。因此,它不是變量的函數(主成分是,您可以從這裡的兩張頂部圖片中確保 PCA 基本上是雙向的:通過成分預測變量,反之亦然)。因此,因子分析不像 PCA 那樣是一種描述/簡化方法,它是一種建模方法,其中潛在因子單向引導觀察到的變量。
裝載量 $ a $ 變量上的因子就像 PCA 中的載荷;它們是協方差,它們是通過(標準化)因子建模變量的係數。 $ a_{1}^2+a_{2}^2= |F|^2 $ 是通過以下方式捕獲(解釋)的方差 $ F $ . 發現該因子使該數量最大化 - 就好像一個主成分一樣。然而,解釋的方差不再是變量的總方差,而是它們的方差,它們通過它們共同變化(相關)。為什麼這樣?
回到圖片上來。我們提取了 $ F $ 根據兩個要求。一個是剛剛提到的最大平方載荷之和。另一個是創建兩個垂直平面,“平面 U1”包含 $ F $ 和 $ X_1 $ , 和“平面 U2” 包含 $ F $ 和 $ X_2 $ . 這樣,每個 X 變量看起來都被分解了。 $ X_1 $ 被分解成變量 $ F $ 和 $ U_1 $ , 相互正交; $ X_2 $ 同樣被分解為變量 $ F $ 和 $ U_2 $ ,也是正交的。和 $ U_1 $ 正交於 $ U_2 $ . 我們知道什麼是 $ F $ -共同因素。 $ U $ 的被稱為獨特的因素。每個變量都有其獨特的因素。含義如下。 $ U_1 $ 在後面 $ X_1 $ 和 $ U_2 $ 在後面 $ X_2 $ 是阻礙的力量 $ X_1 $ 和 $ X_2 $ 關聯。但 $ F $ - 共同因素 - 是兩者背後的力量 $ X_1 $ 和 $ X_2 $ 這使它們相互關聯。被解釋的差異在於這個共同因素。因此,它是純共線性方差。正是這種差異使 $ cov_{12}>0 $ ; 的實際值 $ cov_{12} $ 由變量對因子的傾向決定,由 $ a $ 的。
因此,變量的方差(向量的長度平方)由兩個相加的不相交部分組成:唯一性 $ u^2 $ 和社區 $ a^2 $ . 使用兩個變量,就像我們的示例一樣,我們最多可以提取一個公因子,因此公共性 = 單載荷平方。對於許多變量,我們可能會提取幾個公因子,並且變量的公共性將是其平方載荷的總和。在我們的圖片上,公因子空間是一維的(只是 $ F $ 本身); 當存在m個公因子時,該空間是m維的,公共性是變量對空間的投影,載荷是變量,以及這些投影對跨越空間的因子的投影。因子分析中解釋的方差是該公因子空間內的方差,不同於成分解釋方差的變量空間。變量的空間位於組合空間的腹部:m個共同因素 + p個獨特因素。
請看一下當前的圖片。有幾個(比如說, $ X_1 $ , $ X_2 $ , $ X_3 $ ) 進行因子分析的變量,提取兩個公因子。因素 $ F_1 $ 和 $ F_2 $ 跨越公共因子空間“因子平面”。在一堆分析變量中只有一個( $ X_1 $ ) 如圖所示。該分析將其分解為兩個正交部分,即公共性 $ C_1 $ 和獨特的因素 $ U_1 $ . 社區位於“因子平面”,其在因子上的坐標是公共因子加載的載荷 $ X_1 $ (= 坐標 $ X_1 $ 本身的因素)。在圖片上,其他兩個變量的公共性 - 的預測 $ X_2 $ 和 $ X_3 $ - 也顯示。有趣的是,這兩個共同因素在某種意義上可以被視為所有這些公共“變量”的*主要組成部分。*雖然通常的主成分按資歷總結了變量的多元總方差,但因子同樣總結了它們的多元共同方差。 $ ^1 $
為什麼需要這麼多廢話?我只是想證明當你將每個相關變量分解成兩個正交潛在部分時,一個(A)表示變量之間的不相關性(正交性),另一部分(B)表示它們的相關性(共線性),並且您僅從組合的 B 中提取因子,您會發現自己通過這些因子的負載來解釋成對協方差。在我們的因子模型中, $ cov_{12} \approx a_1a_2 $ - 因子通過載荷*恢復個體協方差。*在 PCA 模型中,情況並非如此,因為 PCA 解釋了未分解的、混合的共線+正交原生方差。您保留的強大組件和您丟棄的後續組件都是(A)和(B)部分的融合;因此,PCA 只能通過其加載來盲目地和粗略地挖掘協方差。
對比列表 PCA 與 FA
- PCA:在變量空間中運行。FA:穿越變量的空間。
- PCA:按原樣接受可變性。FA:將可變性細分為共同和獨特的部分。
- PCA:解釋非分段方差,即協方差矩陣的跡。FA:僅解釋共同方差,因此解釋(通過加載恢復)相關性/協方差,矩陣的非對角線元素。(PCA也解釋了非對角線元素- 但順便說一句,順便說一句 - 僅僅是因為方差以協方差的形式共享。)
- PCA:分量理論上是變量的線性函數,變量理論上是分量的線性函數。FA:變量在理論上只是因子的線性函數。
- PCA:經驗總結法;它保留了 m個分量。FA:理論建模方法;它將固定數量的m個因子擬合到數據中;可以測試FA(確認FA)。
- PCA:是最簡單的度量 MDS,旨在減少維度,同時盡可能地間接保留數據點之間的距離。FA:因素是使它們相互關聯的變量背後必不可少的潛在特徵;該分析旨在僅將數據簡化為這些本質。
- PCA:組件的旋轉/解釋 -有時(PCA 作為潛在特徵模型不夠現實)。FA:因素的輪換/解釋- 例行公事。
- PCA:僅數據縮減方法。FA:也是一種尋找連貫變量簇的方法(這是因為變量不能超出一個因子相關)。
- PCA:加載和分數與“提取”的組件數m無關。FA:載荷和分數取決於“提取”因子的數量m。
- PCA:組件分數是精確的組件值。FA:因子分數是真實因子值的近似值,存在幾種計算方法。因子得分確實存在於變量空間中(就像組件一樣),而真實因子(如因子負載所體現的那樣)則不然。
- PCA:通常沒有假設。FA:弱偏相關的假設;有時是多元正態假設;除非轉換,否則某些數據集可能對分析“不利”。
- PCA:非迭代算法;總是成功的。FA:迭代算法(通常);有時不收斂的問題;奇點可能是個問題。
$ ^1 $ 為一絲不苟。有人可能會問變量在哪裡 $ X_2 $ 和 $ X_3 $ 自己在圖片上,為什麼沒有畫出來?答案是我們無法繪製它們,即使在理論上也是如此。圖片上的空間是3d的(由“因子平面”和唯一向量定義 $ U_1 $ ; $ X_1 $ 躺在它們的互補上,平面陰影灰色,這對應於圖片 2 上“引擎蓋”的一個斜率),因此我們的圖形資源已經耗盡。三個變量跨越的三維空間 $ X_1 $ , $ X_2 $ , $ X_3 $ 在一起是另一個空間。既不是“因子平面”也不是 $ U_1 $ 是它的子空間。這就是與 PCA 的不同之處:因子不屬於變量的空間。每個變量分別位於與“因子平面”正交的單獨灰色平面中 - 就像 $ X_1 $ 顯示在我們的圖片上,僅此而已:如果我們要添加,比如說, $ X_2 $ 我們應該發明第四維的情節。(記得所有 $ U $ s 必須相互正交;所以,添加另一個 $ U $ ,你必須進一步擴展維度。)
與回歸類似,係數是預測變量上的因變量和預測的坐標(參見“多重回歸”下的圖片,以及此處),在FA載荷是觀察到的變量及其潛在部分(即公共性)在因子上的坐標。並且與回歸完全一樣,事實並沒有使依賴項和預測變量成為彼此的子空間,-在 FA 中,類似的事實不會使觀察到的變量和潛在因素成為彼此的子空間。一個因素對於一個變量來說是“外來的”,就像一個預測變量對於一個從屬響應是“外來的”一樣。但在 PCA 中,則是另一種方式:主成分來自觀察到的變量,並且被限制在它們的空間內。
所以,再重複一遍:m個FA的公因子不是p個輸入變量的子空間。相反:變量在m+p(m個公共因子+ p個唯一因子)聯合超空間中形成一個子空間。從這個角度來看(即也吸引了獨特的因素),很明顯經典 FA 不像經典 PCA 那樣是一種維度收縮技術,而是一種維度擴展技術。儘管如此,我們只關注該膨脹的一小部分(m維公共),因為這部分僅解釋了相關性。