MANOVA 與 LDA 有何關係?
在幾個地方,我看到有人聲稱 MANOVA 就像 ANOVA 加線性判別分析 (LDA),但它總是以一種揮手的方式製作的。我想知道它到底應該是什麼意思。
我找到了描述 MANOVA 計算所有細節的各種教科書,但似乎很難找到非統計學家可以訪問的良好的一般性討論(更不用說圖片了)。
簡而言之
單向 MANOVA 和 LDA 都從分解總散射矩陣開始進入類內散佈矩陣和類間散佈矩陣, 這樣. 請注意,這完全類似於單向方差分析如何分解總平方和分為類內和類間平方和:. 在 ANOVA 中,比率然後計算並用於找到 p 值:這個比率越大,p 值越小。MANOVA 和 LDA 構成一個類似的多元量.
從這裡開始,它們就不同了。MANOVA 的唯一目的是測試所有組的均值是否相同;這個零假設意味著大小應該與. 所以 MANOVA 執行特徵分解並找到它的特徵值. 現在的想法是測試它們是否足夠大以拒絕空值。從整組特徵值中形成標量統計量的常用方法有四種. 一種方法是取所有特徵值的總和。另一種方法是取最大特徵值。在每種情況下,如果選擇的統計量足夠大,則拒絕原假設。
相比之下,LDA 執行特徵分解並查看特徵向量(不是特徵值)。這些特徵向量定義了變量空間中的方向,稱為判別軸。將數據投影到第一個判別軸上具有最高的類別分離度(測量為); 到第二個——第二高;等。當 LDA 用於降維時,可以將數據投影到例如前兩個軸上,其餘的被丟棄。
另請參閱@ttnphns在另一個幾乎涵蓋相同領域的線程中的出色回答。
例子
讓我們考慮一個單向情況因變量和觀察組(即一個因子具有三個水平)。我將採用著名的 Fisher’s Iris 數據集並僅考慮萼片長度和萼片寬度(使其成為二維)。這是散點圖:
我們可以從分別計算萼片長度/寬度的方差分析開始。想像一下在 x 和 y 軸上垂直或水平投影的數據點,並執行 1-way ANOVA 以測試三個組是否具有相同的均值。我們得到和對於萼片長度,和和萼片寬度。好的,所以我的例子很糟糕,因為三個組在兩個度量上的 p 值都存在顯著差異,但無論如何我都會堅持下去。
現在我們可以執行 LDA 來找到最大程度分離三個集群的軸。如上所述,我們計算全散佈矩陣, 類內散佈矩陣和類間散佈矩陣並找到的特徵向量. 我可以在同一個散點圖上繪製兩個特徵向量:
虛線是判別軸。我用任意長度繪製它們,但較長的軸顯示具有較大特徵值 (4.1) 的特徵向量和較短的 - 具有較小特徵值 (0.02) 的特徵向量。請注意,它們不是正交的,但 LDA 的數學保證這些軸上的投影具有零相關性。
如果我們現在將我們的數據投影在第一個(更長的)判別軸上,然後運行 ANOVA,我們得到和,比以前低,是所有線性投影中可能的最低值(這是 LDA 的整個點)。第二軸上的投影僅給出.
如果我們對相同的數據運行 MANOVA,我們會計算相同的矩陣並查看其特徵值以計算 p 值。在這種情況下,較大的特徵值等於 4.1,等於對於沿第一個判別式的 ANOVA(實際上,, 在哪裡是數據點的總數和是組數)。
有幾種常用的統計檢驗可以根據特徵譜計算 p 值(在這種情況下和) 並給出略有不同的結果。MATLAB 給了我威爾克斯的測試,它報告. 請注意,此值低於我們之前使用任何 ANOVA 獲得的值,這裡的直覺是 MANOVA 的 p 值“組合”了在兩個判別軸上使用 ANOVA 獲得的兩個 p 值。
是否有可能得到相反的情況:MANOVA 的 p 值更高?是的。為此,我們需要一種情況,即只有一個判別軸給出顯著的,而第二個根本不歧視。我通過添加帶有坐標的七個點來修改上述數據集到“綠色”類(大綠點代表這七個相同的點):
第二個判別軸消失了:它的特徵值幾乎為零。兩個判別軸上的方差分析給出和. 但現在 MANOVA 只報告,這比 ANOVA 高一點。它背後的直覺是(我相信)MANOVA 的 p 值增加解釋了我們擬合判別軸以獲得最小可能值並糾正可能的誤報的事實。更正式地說,MANOVA 消耗更多的自由度。想像一下,有 100 個變量,而且只有沿一個得到的方向意義; 這本質上是多重測試,這五個案例是誤報,因此 MANOVA 將考慮它並報告總體不顯著.
MANOVA vs LDA 作為機器學習 vs. 統計
在我看來,這現在是不同機器學習社區和統計社區如何處理同一件事的典型案例之一。每本機器學習教科書都涵蓋了 LDA,展示了精美的圖片等,但它甚至從未提及 MANOVA(例如Bishop、Hastie和Murphy)。可能是因為那裡的人對 LDA分類精度(大致對應於效果大小)更感興趣,而對組差異的統計顯著性不感興趣。另一方面,關於多變量分析的教科書會討論 MANOVA 令人作嘔,提供大量表格數據(arrrgh)但很少提及 LDA,甚至更罕見地顯示任何圖(例如安德森,或哈里斯;然而,Rencher & Christensen和Huberty & Olejnik甚至被稱為“MANOVA 和判別分析”)。
階乘多元方差分析
階乘 MANOVA 更加令人困惑,但考慮起來很有趣,因為它與 LDA 的不同之處在於“階乘 LDA”並不真正存在,並且階乘 MANOVA 不直接對應於任何“通常的 LDA”。
考慮具有兩個因素(或自變量,IV)的平衡雙向 MANOVA。一個因素(因素 A)有三個水平,另一個因素(因素 B)有兩個水平,使得實驗設計中的“細胞”(使用 ANOVA 術語)。為簡單起見,我將只考慮兩個因變量(DV):
在這個圖中,所有六個“單元”(我也稱它們為“組”或“類”)都很好地分開,這在實踐中當然很少發生。注意,這裡兩個因素的主效應很明顯,交互效應也很明顯(因為右上組向右移動;如果我把它移到它的“網格”位置,那麼就沒有交互作用)。
在這種情況下,MANOVA 計算如何工作?
首先,MANOVA 計算匯集的類內散佈矩陣. 但是類間散佈矩陣取決於我們測試的效果。考慮類間散佈矩陣對於因子 A。為了計算它,我們找到全局平均值(在圖中用星號表示)和以因子 A 水平為條件的平均值(在圖中用三個十字表示)。然後,我們計算這些條件均值(由 A 的每個級別中的數據點數量加權)相對於全局均值的分散度,得出. 現在我們可以考慮一個通常的矩陣,計算其特徵分解,並根據特徵值運行 MANOVA 顯著性檢驗。
對於因子 B,將有另一個類間散佈矩陣,並且類似地(稍微複雜一點,但直截了當)還會有另一個類間散佈矩陣為交互作用,最終將總散射矩陣分解為一個整齊的
[請注意,這種分解僅適用於每個集群中具有相同數量數據點的平衡數據集。對於不平衡的數據集,不能唯一地分解為三個因素貢獻的總和,因為這些因素不再是正交的;這類似於 ANOVA 中對 I/II/III 型 SS 的討論。] 現在,我們的主要問題是 MANOVA 如何對應於 LDA。沒有“階乘 LDA”這樣的東西。考慮因素 A。如果我們想運行 LDA 對因素 A 的水平進行分類(完全忘記因素 B),我們將有相同的類間矩陣,但不同的類內散佈矩陣(考慮在我上圖中的因子 A 的每個級別中將兩個小橢球合併在一起)。其他因素也是如此。因此,在這種情況下,沒有直接對應於 MANOVA 運行的三個測試的“簡單 LDA”。
然而,當然沒有什麼能阻止我們查看,並稱它們為 MANOVA 中因子 A 的“判別軸”。