PCA 和對應分析與 Biplot 的關係
Biplot 通常用於顯示主成分分析(和相關技術)的結果。它是一個雙重或疊加散點圖,同時顯示組件負載和組件分數。@amoeba 今天告訴我,他給出了一個與我的評論不同的答案,這個問題詢問瞭如何生成/縮放雙標坐標;他的回答詳細考慮了幾種方法。@amoeba 詢問我是否願意分享我在 biplot 方面的經驗。
我的經驗(理論和實驗)雖然非常謙虛,但仍然強調了兩件不那麼常見的事情:(1)雙圖應該被歸類為分析技術而不是輔助散點圖;(2) PCA、對應分析(以及其他一些眾所周知的技術)實際上是雙標圖的特例。或者,至少,他們幾乎都是雙胞胎的雙胞胎。如果你可以做 biplot 你可以做另外兩個。
我的問題是:它們(PCA、CA、Biplot)如何為您連接?請分享你的想法。同時,我正在發布我自己的帳戶。我想要求添加更多答案並發表批評意見。
SVD
奇異值分解是這三種同類技術的根源。讓 $ \bf X $ 是 $ r \times c $ 實際值表。SVD 是 $ \bf X = U_{r\times r}S_{r\times c}V_{c\times c}' $ . 我們可能只使用 $ m $ $ [m \le\min(r,c)] $ 獲得的第一個潛在向量和根 $ \bf X_{(m)} $ 作為最好的 $ m $ -秩近似 $ \bf X $ : $ \bf X_{(m)} = U_{r\times m}S_{m\times m}V_{c\times m}' $ . 此外,我們將注 $ \bf U=U_{r\times m} $ , $ \bf V=V_{c\times m} $ , $ \bf S=S_{m\times m} $ .
奇異值 $ \bf S $ 它們的平方,即特徵值,代表數據的尺度,也稱為慣性。左特徵向量 $ \bf U $ 是數據行的坐標到 $ m $ 主軸;而右特徵向量 $ \bf V $ 是數據列在這些相同潛在軸上的坐標。整個刻度(慣性)存儲在 $ \bf S $ 所以坐標 $ \bf U $ 和 $ \bf V $ 是單位歸一化的(列 SS=1)。
SVD的主成分分析
在 PCA中,同意考慮行 $ \bf X $ 作為隨機觀察(可以來也可以去),但要考慮 $ \bf X $ 作為固定數量的維度或變量。因此,通過 svd-decomposing $ \mathbf Z=\mathbf X/\sqrt{r} $ 代替 $ \bf X $ . 請注意,這對應於特徵分解 $ \mathbf {X’X}/r $ , $ r $ 是樣本量
n
。(通常,主要是協方差 - 為了使它們無偏 - 我們更願意除以 $ r-1 $ ,但這是一個細微差別。)的乘法 $ \bf X $ 只受一個常數影響 $ \bf S $ ; $ \bf U $ 和 $ \bf V $ 仍然是行和列的單位歸一化坐標。
從這里和下面的任何地方,我們重新定義 $ \bf S $ , $ \bf U $ 和 $ \bf V $ 由 svd 給出 $ \bf Z $ , 不是 $ \bf X $ ; $ \bf Z $ 是一個規範化的版本 $ \bf X $ ,並且歸一化因分析類型而異。
通過相乘 $ \mathbf U\sqrt{r}=\bf U_* $ 我們將均方帶入 $ \bf U $ 到 1. 鑑於行對我們來說是隨機的情況,這是合乎邏輯的。因此,我們獲得了所謂的 PCA標准或標準化主成分觀察分數, $ \bf U_* $ . 我們不做同樣的事情 $ \bf V $ 因為變量是固定的實體。
然後我們可以賦予行所有的慣性,以獲得非標準化的行坐標,在 PCA 中也稱為觀察的原始主成分分數: $ \bf U_*S $ . 這個公式我們稱之為“直接方式”。相同的結果返回 $ \bf XV $ ; 我們將其標記為“間接方式”。
類似地,我們可以賦予柱以所有慣性,以獲得非標準化柱坐標,在 PCA 中也稱為分量變量載荷: $ \bf VS' $ [可以忽略轉置如果 $ \bf S $ is square], - “直接方式”。相同的結果返回 $ \bf Z’U $ , - “間接方式”。(上述標準化的主成分分數也可以從載荷計算為 $ \bf X(AS^{-1/2}) $ , 在哪裡 $ \bf A $ 是載荷。)
雙標圖
從降維分析的角度考慮雙圖,而不僅僅是“雙散點圖”。這種分析與 PCA 非常相似。與 PCA 不同,行和列都被對稱地視為隨機觀察,這意味著 $ \bf X $ 被視為具有不同維度的隨機二維表。然後,自然地,通過兩者對其進行歸一化 $ r $ 和 $ c $ 在 svd 之前: $ \mathbf Z=\mathbf X/\sqrt{rc} $ .
在 svd 之後,像我們在 PCA 中那樣計算標準行坐標: $ \mathbf U_=\mathbf U\sqrt{r} $ . 對列向量執行相同的操作(與 PCA 不同),以獲得標準列坐標*: $ \mathbf V_=\mathbf V\sqrt{c} $ . 行和列的標準坐標均*方為 1。
我們可以賦予行和/或列坐標與特徵值的慣性,就像我們在 PCA 中所做的那樣。非標準化行坐標: $ \bf U_S $ (直接方式)。非標準化列坐標: $ \bf V_S' $ (直接方式)。間接方式是怎麼回事?您可以通過替換輕鬆推斷出非標準化行坐標的間接公式是 $ \mathbf {XV_}/c $ ,對於非標準化的列坐標是 $ \mathbf {X’U_}/r $ .
PCA 作為 Biplot 的一個特例。從上面的描述中,您可能了解到 PCA 和 biplot 的區別僅在於它們的標準化方式 $ \bf X $ 進入 $ \bf Z $ 然後分解。Biplot 通過行數和列數進行歸一化;PCA 僅按行數進行標準化。因此,在後 svd 計算中兩者之間存在少許差異。如果在做 biplot 你設置 $ c=1 $ 在其公式中,您將獲得準確的 PCA 結果。因此,biplot 可以看作是一種通用方法,而 PCA 可以看作是 biplot 的一個特例。
[列居中。一些用戶可能會說:停止,但 PCA 是否還需要首先將數據列(變量)居中以解釋方差?雖然雙標圖可能無法居中?我的回答:只有狹義的 PCA 才能進行居中並解釋方差;我正在討論一般意義上的線性 PCA,PCA 它解釋了與所選原點的某種平方偏差之和;您可以選擇它作為數據均值、原生 0 或任何您喜歡的值。因此,“居中”操作不能區分 PCA 和 biplot。]
被動行和列
在 biplot 或 PCA 中,您可以將某些行和/或列設置為被動或補充。被動行或列不會影響 SVD,因此不會影響慣性或其他行/列的坐標,但會在主動(非被動)行/列產生的主軸空間中接收其坐標。
要將某些點(行/列)設置為被動,(1)定義 $ r $ 和 $ c $ 僅是活動行數和列數。(2) 設置為零被動行和列 $ \bf Z $ 在 svd 之前 (3) 使用“間接”方法計算被動行/列的坐標,因為它們的特徵向量值將為零。
在 PCA 中,當您借助在舊觀測值上獲得的載荷(使用得分係數矩陣)計算新傳入案例的組件得分時,您實際上所做的事情與在 PCA 中獲取這些新案例並使其保持被動狀態相同。類似地,計算一些外部變量與 PCA 產生的分量分數的相關性/協方差等價於在 PCA 中獲取這些變量並使其保持被動。
慣性的任意傳播
標準坐標的列均方 (MS) 為 1。非標準化坐標的列均方 (MS) 等於各個主軸的慣量:所有特徵值的慣量都捐獻給特徵向量以產生未標準化的坐標。
在biplot中:行標準坐標 $ \bf U_* $ 每個主軸的 MS=1。行非標準化坐標,也稱為行主坐標 $ \mathbf {U_S} = \mathbf {XV_}/c $ 有 MS = 對應的特徵值 $ \bf Z $ . 對於列標準和非標準化(主)坐標也是如此。
通常,不需要完全或完全不賦予坐標慣性。如果出於某種原因需要,允許任意傳播。讓 $ p_1 $ 是進入行*的慣性比例。*那麼行坐標的一般公式為: $ \bf U_*S^{p1} $ (直接方式)= $ \mathbf {XV_*S^{p1-1}}/c $ (間接方式)。如果 $ p_1=0 $ 我們得到標準的行坐標,而 $ p_1=1 $ 我們得到主行坐標。
同樣地 $ p_2 $ 是要進入列*的慣性比例。*那麼列坐標的一般公式為: $ \bf V_*S^{p2} $ (直接方式)= $ \mathbf {X’U_*S^{p2-1}}/r $ (間接方式)。如果 $ p_2=0 $ 我們得到標準的列坐標,而 $ p_2=1 $ 我們得到主列坐標。
一般間接公式是通用的,因為它們允許計算被動點的坐標(標準、主或中間)(如果有的話)。
如果 $ p_1+p_2=1 $ 他們說慣性分佈在行和列點之間。這 $ p_1=1,p_2=0 $ ,即行-主-列-標準,雙圖有時被稱為“形式雙圖”或“行度量保存”雙圖。這 $ p_1=0,p_2=1 $ ,即行標準列原則,雙圖通常在 PCA 文獻中稱為“協方差雙圖”或“列度量保留”雙圖;當在 PCA 中應用時,它們顯示可變載荷(與協方差並列)加上標準化的分量分數。
在對應分析中, $ p_1=p_2=1/2 $ 經常使用並且被稱為“對稱”或“規範”慣性歸一化 - 它允許(儘管以歐幾里德幾何嚴格性為代價)比較行和列點之間的接近度,就像我們可以在多維展開圖上所做的那樣。
對應分析(歐幾里得模型)
雙向(=簡單)對應分析(CA)是用於分析雙向列聯表的雙標圖,即非負表,其中條目具有行和列之間某種相似性的含義。當表為頻率時,使用卡方模型對應分析。例如,當條目是平均值或其他分數時,使用更簡單的歐幾里得模型 CA。
歐幾里得模型 CA只是上面描述的雙圖,只是那個表 $ \bf X $ 在進入 biplot 操作之前進行了額外的預處理。特別是,這些值不僅通過 $ r $ 和 $ c $ 還要按總和 $ N $ .
預處理包括居中,然後按平均質量歸一化。居中可以有多種,最常見的是:(1)柱居中;(2) 行居中;(3) 雙向定心,與計算頻率殘差的操作相同;(4) 列和相等後的列居中;(5) 行和相等後的行居中。按平均質量進行歸一化是除以初始表的平均單元格值。在預處理步驟,被動行/列(如果存在)被被動標準化:它們由從主動行/列計算的值居中/標準化。
然後在預處理後完成通常的雙標圖 $ \bf X $ , 從…開始 $ \mathbf Z=\mathbf X/\sqrt{rc} $ .
加權雙標圖
想像一下,一行或一列的活動或重要性可以是 0 到 1 之間的任何數字,而不僅僅是到目前為止討論的經典雙標圖中的 0(被動)或 1(主動)。我們可以通過這些行和列權重對輸入數據進行加權,並執行加權雙標圖。對於加權雙圖,權重越大,該行或該列對所有結果的影響越大——慣性和所有點在主軸上的坐標。
用戶提供行權重和列權重。這些和那些首先分別歸一化以總和為 1。然後歸一化步驟是 $ \mathbf{Z_{ij} = X_{ij}}\sqrt{w_i w_j} $ , 和 $ w_i $ 和 $ w_j $ 是第 i 行和第 j 列的權重。精確為零的權重將行或列指定為被動的。
到那時,我們可能會發現經典雙標圖只是權重相等的加權雙標圖 $ 1/r $ 對於所有活動行和相同的權重 $ 1/c $ 對於所有活動列; $ r $ 和 $ c $ 活動行數和活動列數。
執行 svd 的 $ \bf Z $ . 所有操作都與經典雙標圖相同,唯一的區別是 $ w_i $ 代替 $ 1/r $ 和 $ w_j $ 代替 $ 1/c $ . 標準行坐標: $ \mathbf {U_{*i}=U_i}/\sqrt{w_i} $ 和標準列坐標: $ \mathbf {V_{*j}=V_j}/\sqrt{w_j} $ . (這些適用於權重非零的行/列。對於權重為零的行/列,將值保留為 0,並使用下面的間接公式為它們獲取標准或任何坐標。)
以您想要的比例賦予坐標慣性(使用 $ p_1=1 $ 和 $ p_2=1 $ 坐標將是完全非標準化的或主要的;和 $ p_1=0 $ 和 $ p_2=0 $ 他們將保持標準)。行: $ \bf U_*S^{p1} $ (直接方式)= $ \bf X[Wj]V_*S^{p1-1} $ (間接方式)。列: $ \bf V_*S^{p2} $ (直接方式)= $ \bf ([Wi]X)‘U_*S^{p2-1} $ (間接方式)。這裡括號中的矩陣分別是列和行權重的對角矩陣。對於被動點(即權重為零),只有間接的計算方式是合適的。對於活躍(正權重)點,您可以選擇任何一種方式。
PCA 作為 Biplot 的一個特殊案例被重新審視。之前考慮未加權雙圖時,我提到 PCA 和雙圖是等價的,唯一的區別是雙圖將數據的列(變量)視為與觀察值(行)對稱的隨機案例。現在將 biplot 擴展到更一般的加權 biplot 後,我們可以再次聲明它,觀察到唯一的區別是(加權)biplot 將輸入數據的列權重之和標準化為 1,並且(加權)PCA - 標準化為(活動)列。所以這裡介紹的是加權 PCA。它的結果與加權雙標圖的結果成比例地相同。具體來說,如果 $ c $ 是活動列的數量,那麼對於兩個分析的加權版本和經典版本,以下關係為真:
- PCA 的特徵值 = 雙標圖的特徵值 $ \cdot c $ ;
- 載荷= 列的“主要歸一化”下的列坐標;
- 標準化組件分數 = 行“標準歸一化”下的行坐標;
- PCA 的特徵向量 = 列“標準歸一化”下的列坐標 $ / \sqrt c $ ;
- 原始組件分數 = 行的“主要歸一化”下的行坐標 $ \cdot \sqrt c $ .
對應分析(卡方模型)
從技術上講,這是一個加權雙圖,其中權重是從表本身計算的,而不是由用戶提供的。它主要用於分析頻率交叉表。該雙圖將通過圖上的歐幾里德距離來近似表中的卡方距離。卡方距離在數學上是由邊際總數反向加權的歐幾里得距離。我將不再詳細介紹卡方模型 CA 幾何。
頻率表的預處理 $ \bf X $ 如下:將每個頻率除以期望頻率,然後減1。與先得到頻率殘差再除以期望頻率相同。將行權重設置為 $ w_i=R_i/N $ 和列權重 $ w_j=C_j/N $ , 在哪裡 $ R_i $ 是第 i 行的邊際總和(僅限活動列), $ C_j $ 是第 j 列的邊際總和(僅限活動行), $ N $ 是表的總活躍總和(三個數字來自初始表)。
然後做加權雙圖:(1)歸一化 $ \bf X $ 進入 $ \bf Z $ . (2) 權重從不為零(零 $ R_i $ 和 $ C_j $ 不允許在 CA 中使用);但是,您可以通過將行/列歸零來強制行/列變為被動狀態 $ \bf Z $ ,所以它們的權重在 svd 上無效。(3) 做 svd。(4) 計算加權雙標圖中的標準和慣性既定坐標。
在卡方模型 CA 以及使用雙向居中的歐幾里得模型 CA 中,最後一個特徵值始終為 0,因此最大可能的主維數為 $ \min(r-1,c-1) $ .
另請參閱此答案中卡方模型 CA 的精彩概述。
插圖
這是一些數據表。
row A B C D E F 1 6 8 6 2 9 9 2 0 3 8 5 1 3 3 2 3 9 2 4 7 4 2 4 2 2 7 7 5 6 9 9 3 9 6 6 6 4 7 5 5 8 7 7 9 6 6 4 8 8 4 4 8 5 3 7 9 4 6 7 3 3 7 10 1 5 4 5 3 6 11 1 5 6 4 8 3 12 0 6 7 5 3 1 13 6 9 6 3 5 4 14 1 6 4 7 8 4 15 1 1 5 2 4 3 16 8 9 7 5 5 9 17 2 7 1 3 4 4 28 5 3 3 9 6 4 19 6 7 6 2 9 6 20 10 7 4 4 8 7
以下是基於對這些值的分析構建的幾個雙散點圖(在 2 個第一主要維度中)。列點通過尖峰與原點連接以進行視覺強調。這些分析中沒有被動行或列。
第一個雙圖是“按原樣”分析的數據表的**SVD結果;**坐標是行和列的特徵向量。
以下是來自PCA的可能雙圖之一。PCA 是按“原樣”對數據進行的,沒有將列居中;然而,由於它在 PCA 中被採用,最初通過行數(案例數)進行標準化。這個特定的雙標圖顯示主要行坐標(即原始組件分數)和主要列坐標(即可變載荷)。
接下來是biplot sensu stricto:該表最初通過行數和列數進行了標準化。主要歸一化(慣性擴散)用於行和列坐標 - 與上面的 PCA 一樣。注意與 PCA 雙圖的相似性:唯一的區別是由於初始歸一化的不同。
卡方模型對應分析雙圖。數據表以特殊方式進行了預處理,包括雙向居中和使用邊際總計的標準化。這是一個加權雙圖。慣性對稱地分佈在行和列坐標上——兩者都在“主”坐標和“標準”坐標之間。
所有這些散點圖上顯示的坐標:
point dim1_1 dim2_1 dim1_2 dim2_2 dim1_3 dim2_3 dim1_4 dim2_4 1 .290 .247 16.871 3.048 6.887 1.244 -.479 -.101 2 .141 -.509 8.222 -6.284 3.356 -2.565 1.460 -.413 3 .198 -.282 11.504 -3.486 4.696 -1.423 .414 -.820 4 .175 .178 10.156 2.202 4.146 .899 -.421 .339 5 .303 .045 17.610 .550 7.189 .224 -.171 -.090 6 .245 -.054 14.226 -.665 5.808 -.272 -.061 -.319 7 .280 .051 16.306 .631 6.657 .258 -.180 -.112 8 .218 -.248 12.688 -3.065 5.180 -1.251 .322 -.480 9 .216 -.105 12.557 -1.300 5.126 -.531 .036 -.533 10 .171 -.157 9.921 -1.934 4.050 -.789 .433 .187 11 .194 -.137 11.282 -1.689 4.606 -.690 .384 .535 12 .157 -.384 9.117 -4.746 3.722 -1.938 1.121 .304 13 .235 .099 13.676 1.219 5.583 .498 -.295 -.072 14 .210 -.105 12.228 -1.295 4.992 -.529 .399 .962 15 .115 -.163 6.677 -2.013 2.726 -.822 .517 -.227 16 .304 .103 17.656 1.269 7.208 .518 -.289 -.257 17 .151 .147 8.771 1.814 3.581 .741 -.316 .670 18 .198 -.026 11.509 -.324 4.699 -.132 .137 .776 19 .259 .213 15.058 2.631 6.147 1.074 -.459 .005 20 .278 .414 16.159 5.112 6.597 2.087 -.753 .040 A .337 .534 4.387 1.475 4.387 1.475 -.865 -.289 B .461 .156 5.998 .430 5.998 .430 -.127 .186 C .441 -.666 5.741 -1.840 5.741 -1.840 .635 -.563 D .306 -.394 3.976 -1.087 3.976 -1.087 .656 .571 E .427 .289 5.556 .797 5.556 .797 -.230 .518 F .451 .087 5.860 .240 5.860 .240 -.176 -.325