Pca

PCA 和對應分析與 Biplot 的關係

  • March 14, 2015

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

引用自:https://stats.stackexchange.com/questions/141754

comments powered by Disqus