判別分析的三個版本:差異以及如何使用它們
任何人都可以解釋差異並舉例說明如何使用這三種分析嗎?
- LDA - 線性判別分析
- FDA - Fisher 判別分析
- QDA - 二次判別分析
我到處搜索,但找不到具有真實值的真實示例,以了解如何使用這些分析和計算數據,只有很多公式,沒有任何真實示例就難以理解。正如我試圖理解的那樣,很難區分哪些方程/公式屬於 LDA,哪些屬於 FDA。
例如,假設有這樣的數據:
x1 x2 class 1 2 a 1 3 a 2 3 a 3 3 a 1 0 b 2 1 b 2 2 b
讓我們說一些測試數據:
x1 x2 2 4 3 5 3 6
那麼如何通過所有這三種方法使用這些數據呢?最好看看如何手動計算所有內容,而不是使用一些在幕後計算所有內容的數學包。
PS我只找到了這個教程: http: //people.revoledu.com/kardi/tutorial/LDA/LDA.html#LDA。它展示瞭如何使用 LDA。
“Fisher’s Discriminant Analysis”只是2類情況下的LDA。當只有 2 個類別時,手動計算是可行的,並且分析與多重回歸直接相關。LDA是Fisher關於任意類情況的思想的直接擴展,並使用矩陣代數設備(如特徵分解)來計算它。因此,“Fisher 判別分析”這個術語在今天看來已經過時了。應改為使用“線性判別分析”。另請參閱。具有 2 個以上類別(多類別)的判別分析通過其算法是規範的(將判別式提取為規範變量);罕見術語“典型判別分析”
在計算判別函數後,Fisher 使用當時稱為“Fisher 分類函數”的方法對對象進行分類。如今,在 LDA 程序中使用更通用的貝葉斯方法對對象進行分類。
對於您對 LDA 的解釋請求,我可能會將我的答案發送給您: LDA 中的提取、LDA中的分類、相關程序中的 LDA 。還有這個,這個,這個問題和答案。
就像 ANOVA 需要假設等方差一樣,LDA 需要假設類的等方差-協方差矩陣(在輸入變量之間)。這個假設對於分析的分類階段很重要。如果矩陣顯著不同,則觀察值將傾向於分配給變異性較大的類別。為了克服這個問題,發明了QDA。QDA 是對 LDA 的修改,它允許類協方差矩陣的上述異質性。
如果您有異質性(例如通過 Box 的 M 檢驗檢測到)並且您手頭沒有 QDA,您仍然可以在使用分類時判別式的單個協方差矩陣(而不是合併矩陣)的製度中使用 LDA . 這部分地解決了這個問題,儘管不如 QDA 有效,因為 - 正如剛才指出的那樣 - 這些是判別式之間的矩陣,而不是原始變量之間的矩陣(哪些矩陣不同)。
讓我自己分析您的示例數據。
回复@zyxue 的回答和評論
LDA 是您在答案中定義的 FDA。LDA首先提取線性構造(稱為判別式),以最大化間隔到內部的分離,然後使用它們執行(高斯)分類。如果(如您所說)LDA 與提取判別式的任務無關 LDA 似乎只是一個高斯分類器,則根本不需要名稱“LDA”。
這是LDA 假設類的正態性和方差-協方差同質性的分類階段。LDA的提取或“降維”階段假設線性和方差-協方差同質性,這兩個假設共同使“線性可分性”成為可能。(我們使用單池 $ S_w $ 矩陣來產生判別式,因此在類內協方差矩陣中具有恆等池,這使我們有權應用相同的判別式集對所有類進行分類。我摔倒 $ S_w $ s 相同,表示類內協方差都相同,相同;使用它們的權利變得絕對。)
高斯分類器(LDA 的第二階段)使用貝葉斯規則通過判別器將觀察值分配給類。通過直接利用原始特徵的所謂Fisher線性分類函數可以實現相同的結果。然而,貝葉斯基於判別式的方法有點通用,因為除了使用一種默認方式(池化矩陣)之外,它還允許使用單獨的類判別協方差矩陣。此外,它將允許基於判別式子集進行分類。
當只有兩個類時,LDA 的兩個階段可以一起描述一次,因為“潛在提取”和“觀察分類”減少到相同的任務。