判別分析及MATLAB實現_第1頁
判別分析及MATLAB實現_第2頁
判別分析及MATLAB實現_第3頁
判別分析及MATLAB實現_第4頁
判別分析及MATLAB實現_第5頁
已閱讀5頁,還剩83頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、判別分析(discriminant analysis)1 距離判別2 Bayes判別3 Fisher判別4 判別分析的MATLAB實現5 判別分析 概說1統計方法(判別分析):判別分析在已知研究對象分成若干類型,并已取得各種類型的一批已知樣品的觀測數據,在此基礎上根據某些準則建立判別式,然后對未知類型的樣品進行判別分類。距離判別法首先根據已知分類的數據,分別計算各類的重心,計算新個體到每類的距離,確定最短的距離(歐氏距離、馬氏距離)Fisher判別法利用已知類別個體的指標構造判別式(同類差別較小、不同類差別較大),按照判別式的值判斷新個體的類別Bayes判別法計算新給樣品屬于各總體的條件概率,

2、比較概率的大小,然后將新樣品判歸為來自概率最大的總體 2判別分析:判別分析是利用原有的分類信息,得到體現這種分類的函數關系式(稱之為判別函數,一般是與分類相關的若干個指標的線性關系式),然后利用該函數去判斷未知樣品屬于哪一類。 對于給定的數據,用classify函數進行線性判別分析,用mahal函數計算馬氏距離。31 距離判別1.1 判別分析的基本思想及意義我們首先給出常見的距離:1.歐氏距離:設有n維向量x= (x1,x2,xn),y=(y1,y2,yn),則稱為n維向量x,y之間的歐氏距離 4在 MATLAB 中,計算歐氏距離有多種方法(1) sqrt(sum(x-y).2)設x,y是同維

3、行向量(2) sqrt(dot(x-y,x-y)(3) sqrt(x-y)*(x-y)(4) dist(x,y)例1. 設x,y是同維列向量,上述公式是否成立?若不成立如何修改?解:前兩個正確,后兩個錯誤,修改如下: sqrt(x-y)*(x-y),dist(x,y)52.絕對距離: 在 MATLAB 中,計算絕對距離方法如下(1) sum(abs(x-y) % 行向量、列向量均可(2) mandist(x,y) % 行向量為n維向量x,y之間的絕對距離.設有n維向量x(x1,x2,xn),y=(y1,y2,yn),則稱例2. 若x為n維行向量, y為n維列向量如何用MATLAB計算x,y的絕

4、對距離?63. 閔可夫斯基距離 : 設有n維向量x= (x1,x2,xn),y=(y1,y2,yn),則稱為n維向量x,y之間的閔可夫斯基距離.顯然,當r=2和1時閔可夫斯基距離分別為歐氏距離和絕對距離.在Matlab中如何計算?74.馬氏距離:馬氏距離是由印度統計學家馬哈拉諾比斯(PC Mahalanobis)提出的,由于馬氏距離具有統計意義,在距離判別分析時經常應用馬氏距離. (1) 同一總體的兩個向量之間的馬氏距離設有n維向量x= (x1,x2,xn),y=(y1,y2,yn),則稱為n維向量x,y之間的馬氏距離.其中 為總體協方差矩陣. 顯然,當為單位矩陣時馬氏距離就是歐氏距離.8(2

5、) 一個向量到一個總體的馬氏距離設x是取自均值向量為,協方差矩陣為 的總體G的一個行向量,則稱為n維向量x與總體G的馬氏距離.MATLAB中有一個命令:mahal計算馬氏距離平方9Generate some correlated bivariate data in X and compare the Mahalanobis and squared Euclidean distances of observations in Y:X = mvnrnd(0;0,1 .9;.9 1,100);Y = 1 1;1 -1;-1 1;-1 -1;d1 = mahal(Y,X) % Mahalanobisd

6、1 = 1.3592 21.1013 23.8086 1.4727d2 = sum(Y-repmat(mean(X),4,1).2, 2) % Squared Euclideand2 = 1.9310 1.8821 2.1228 2.073910(3) 兩個總體之間的馬氏距離設有兩個總體G1,G2,兩個總體的均值向量分別為 ,協方差矩陣相等,皆為,則兩個總體之間的馬氏距離為通常,在判別分析時不采用歐氏距離的原因在于,該距離與量綱有關.11馬氏距離有如下的特點:1、馬氏距離不受計量單位的影響; 2、馬氏距離是標準化后的變量的歐氏距離證明:121.2 兩個總體的距離判別由于馬氏距離與總體的協方差矩

7、陣有關,所以利用馬氏距離進行判別分析需要分別考慮兩個總體的協方差矩陣是否相等.1.兩個總體協方差矩陣相等的情況 線性判別函數()設有兩個總體G1,G2,的均值分別為協方差矩陣相等為考慮樣品x到兩個總體的馬氏距離平方差:13距離判別法: 設有兩個協方差相同的總體 , 且對于一個新的樣品,要判定它來自哪一個總體,有一個很直觀的方法:計算: 若 14其中于是距離判別準則為15 線性判別函數() 注意到實數的轉置等于實數自身,故有16令 注意到可得 記17于是距離判別準則簡化為: 在實際問題中,由于總體的均值、協方差矩陣通常是未知的,數據資料來自兩個總體的訓練樣本,于是用樣本的均值、樣本的協方差矩陣代

8、替總體的均值與協方差.注意:若S1,S2分別為兩個樣本的協方差矩陣,則在 時,總體的協方差矩陣估計量181. 兩個總體協方差矩陣相等由于實際問題中只能得到兩個樣本的協方差矩陣S1,S2,因此當兩個總體協方差矩陣相等時如何確定總體的協方差矩陣S ?其中n1,n2分別為兩個樣本的容量.19判別步驟:1.計算A、B兩類的均值向量與協方差陣;ma=mean(A),mb=mean(B),S1=cov(A),S2=cov(B)2.計算總體的協方差矩陣其中n1,n2分別為兩個樣本的容量.3.計算未知樣本x到A,B兩類馬氏平方距離之差 d=(x-ma)*S-1 * (x-ma)- (x-mb)*S-1* (x

9、-mb)4.若d0,則x屬于B類20上述公式可以化簡為:W(x)=(ma-mb)*S-1* (x-(ma+mb)/2)若W(x)0,x屬于G1;若W(x)列數24按照如下的判別準則:我們可以建立MATLAB的判別法如下:25 均未知時的判別法則 記 則判別函數: 兩樣本的協方差陣相同抽取n1和n2個子樣:當時,判斷 當時, 判斷 26例 對于下雨天和非雨天兩類天氣情況收集如下數據 雨 天 非 雨 天 濕度差 溫度 濕度差 溫度 -1.9 3.2 0.2 6.2-6.9 10.4 -0.1 7.55.2 2.0 0.4 14.67.3 0.0 2.1 0.86.8 12.7 -4.6 4.30.

10、9 -15.4 -1.7 10.9-12.5 -2.5 -2.6 13.11.5 1.3 2.6 12.83.8 6.8 -2.8 10.027不難算出: 28在此很難假定 ,但仍然可以定義其馬氏距離 如果要問當 時是雨天還是非雨天,可解得如下 因為X與G1距離小,因此判定 雨天 29相關MATLAB命令 30該例MATLAB 程序實現運行結果 31例1.現測得6只Apf和9只Af蠓蟲的觸長,翅長數據Apf:(1.14,1.78), (1.18,1.96), (1.20,1.86), (1.26,2.00), (1.28,2.00), (1.30,1.96) Af:(1.24,1.72), (

11、1.36,1.74), (1.38,1.64), (1.38,1.82), (1.38,1.90), (1.40,1.70), (1.48,1.82),(1.54,1.82), (1.56,2.08)若兩總體協方差矩陣不等,試判別以下的三個蠓蟲屬于哪一類?(1.24,1.8),(1.28,1.84),(1.4,2.04)32解:Apf=1.14,1.78; 1.18,1.96; 1.20,1.86; 1.26,2.00; 1.28,2.00; 1.30,1.96;Af=1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.4

12、8,1.82;1.54,1.82;1.56,2.08;x= 1.24,1.8;1.28,1.84; 1.4,2.04;d=mahal(x,Apf)-mahal(x,Af)若d0,則x屬于Af;若d0,則x屬于Apf.Ans: d =1.7611 3.8812 3.6468故三個蠓蟲均屬Af.33 從例1,我們發現對于兩個總體的協方差矩陣是否相等,得到的結論可能不同,因此在解決實際問題時,首先要判別兩個總體的協方差矩陣是否相等?檢驗統計量:對給定的 , 查卡方分布表得到臨界值若Qi ,則接受H0,否則拒絕H034對于例1,應用檢驗程序如下(=0.05):n1=6;n2=9;p=2;s=(5*s1

13、+8*s2)/13;Q01=(n1-1)*(log(det(s)-log(det(s1)-p+trace(inv(s)*s1), Q02=(n2-1)*(log(det(s)-log(det(s2)-p+trace(inv(s)*s2), P=1-chi2cdf(Q01,Q02,3) 對 ,查自由度為3的卡方分布,得到臨界值為:7.815, 由于 Q017.815,Q020n1=n1+1;else n1=n1;endend% 計算Apf 誤判為Af 的個數n138for j=1:9,n2(j)=(b(j,:)-m1)*inv(s)*(b(j,:)-m1)-(b(j,:)-m2)*inv(s)*

14、(b(j,:)-m2);n2=0;if n20n2=n2+1;else n2=n2;endendwp=n1+n2/m+n %回代誤判率% 計算Af 誤判為Apf 的個數n2由于wp=0,故回代誤判率=039(2)交叉誤判率估計 交叉誤判率估計是每次剔除一個樣品,利用其余的m+n1個訓練樣本建立判別準則再用所建立的準則對刪除的樣品進行判別。對訓練樣本中每個樣品都做如上分析,以其誤判的比例作為誤判率,具體步驟如下: 從總體為G1的訓練樣本開始,剔除其中一個樣品,剩余的m1個樣品與G2中的全部樣品建立判別函數; 用建立的判別函數對剔除的樣品進行判別; 重復步驟,直到G1中的全部樣品依次被刪除,又進行

15、判別,其誤判的樣品個數記為m1240于是交叉誤判率估計為: 在兩個總體協方差矩陣等時,利用MATLAB編程計算交叉誤判率,作為作業. 對G2的樣品重復步驟,直到G2中的全部樣品依次被刪除又進行判別,其誤判的樣品個數記為n21411.3. 多個總體的距離判別設有k個總體,G1,G2,Gk,若判別某個體y屬于哪個總體,則有如下方法:若存在某個正整數k0,使得mahal(y,Gk0)=min(y,Gi),(i=1,2,k)則判別y屬于第k0個個體.421.4.距離判別的Matlab編程實現兩個總體協方差矩陣相等時的判別步驟: 計算A、B兩類的均值向量與協方差陣;ma=mean(A),mb=mean(

16、B),S1=cov(A),S2=cov(B) 計算總體的協方差矩陣S=(length(A(:,1)-1)*S1+(length(B(:,1)-1)*S2/ (length(A(:,1)+ (length(B(:,1)-2)其中length(A(:,1) ,length(B(:,1)分別為兩個樣本的容量(即矩陣A,B的行數) . 計算未知樣本x到A,B兩類馬氏距離之差d=(x-ma)*inv(S)*(x-ma)- (x-mb)*inv(S)*(x-mb) 若d0,則x屬于B類43距離判別的CLASSIFY命令實現:444546472 貝葉斯(Bayes)判別2.1 Bayes判別的思想2.2.

17、貝葉斯判別的準則2.3. 兩個正態總體的Bayes判別1.后驗概率最小原則2.平均誤判概率最小原則3.平均損失最小原則2.4. 多個正態總體的Bayes判別48 距離判別只要求知道總體的數字特征,不涉及總體的分布函數,當參數和協方差未知時,就用樣本的均值和協方差矩陣來估計。距離判別方法簡單實用,但沒有考慮到每個總體出現的機會大小,即先驗概率,沒有考慮到錯判的損失。貝葉斯判別法正是為了解決這兩個問題提出的判別分析方法。2.1 Bayes判別的思想49 一個好的判別方法,既要考慮到各個總體出現的先驗概率,又要考慮到錯判造成的損失,Bayes判別就具有這些優點.貝葉斯公式是一個我們熟知的公式 2.2

18、. 貝葉斯判別有以下準則:1. 后驗概率最大原則50 設有總體 , 具有概率密度函 數 并且根據以往的統計分析,知道 出現的概率為 。即當樣本 發生時,求他屬于某類的概率。由貝葉斯公式計算后驗概率,有:則 判給 。判別規則:若51 設有總體 , 具有概率密度函數 并且根據以往的統計分析知道 出現的概率為 ,且又D1,D2,Dk是R(p)的一個分劃,判別法則:當樣品X落入Di時,則判 關鍵的問題是尋找D1,D2,Dk分劃,這個分劃應該使平均錯判率最小。 2.平均誤判最小原則523.平均錯判損失最小 用P(j/i)表示將來自總體Gi的樣品錯判到總體Gj的條件概率。 C(j/i)表示相應錯判所造成的

19、損失。則平均錯判損失為: 使ECM最小的分劃,是Bayes判別分析的解。 532.3 兩個總體的Bayes判別1.一般討論考慮兩個p元總體G1,G2分別具有概率密度函數f1(x),f2(x),設出現的先驗概率為:,且一個劃分R=(R1,R2)相當于一個判別準則,在判別準則R下將來自G1的樣品誤判為G2的概率是54而將來自G2的樣品誤判為G1的概率是平均誤判率為 平均誤判損失其中c(2|1) 是將G1的樣品誤判為G2的損失c(1|2)是將來自G2的樣品誤判為G1的損失55我們首先考慮c(2|1)=c(1|2)的情況,并且總假定c(1|1)=c(2|2)=0 對于一個p元樣本 根據Bayes公式,

20、可以得到該樣品屬于G1,G2的后驗概率分別為56當c(2|1)=c(1|2)時,兩總體Bayes判別的一個最優劃分是于是得到兩個總體的Bayes判別法則為:57定理1. 若c(2|1)=c(1|2)=c,則存在最優劃分使得平均誤判概率 達到最小 證明 :58顯然,若取則可以使得P*達到最小,這時59推論:若c(2|1)=c(1|2)=c,則存在最優劃分使得平均誤判損失達到最小.由于c(2|1)=c(1|2)=c,于是平均誤判損失為:cp*,因此若存在最優劃分R,使得cp*達到最小等價于使得p*達到最小.60當c(2|1)與c(1|2)不相等時,關于先驗概率p1,p2,誤判造成的平均損失為61于

21、是,當L取得最小值時有最優劃分為:顯然,當c(1|2)=c(2|1),上式即為 2.兩個正態總體的Bayes判別在c(1|2)=c(2|1)的條件下,我們首先考慮:(1)兩個總體協方差矩陣相等的情形62(1)兩個總體協方差矩陣相等的情形設總體G1,G2的協方差矩陣相等且為,概率密度函數為:上式兩邊取自然對數得這時63令于是64于是判別準則簡化為:在MATLAB中計算wj(x)的公式為:其中65下面,我們推導關于后驗概率最大的另外一種數學表達式由于 代入上式得注意到對數恒等式66分子可化為:令于是后驗概率可表示為P(G1|x) d22(x)67注意到 是x到Gj的馬氏距離平方,由MATLAB軟件

22、P(G1|x) d22(x)等價于 mahal(x,G1)-mahal(x,G2)2log(p1/p2)顯然,當p1=p2時,bayes判別就是距離判別距離判別與bayes判別的比較:距離判別與總體的分布無關,信息少,簡單bayes判別比距離判別多了先驗概率信息,如果總體不服從多元正態分布,上述推導無效!68(2)兩個總體協方差矩陣不相等的情形設總體的協方差矩陣不相等分別為1,2概率密度函數為:上式兩邊取自然對數得這時69于是,判別函數為:判別準則為:若d(x) 則判別x屬于第一類;若d(x)0 則判別x屬于第二類;702.4 多個總體的Bayes判別設有k個總體G1,G2,Gk的概率密度為f

23、j(x)各總體出現的先驗概率為 pj=P(Gj),j=1,2,k,滿足一個判別準則就是空間Rp的一個不相重疊的劃分R1,R2,Rk,滿足記R=(R1,R2,Rk),則R代表一個判別準則71 在判別準則R=(R1,R2,Rk)下,將來自Gi的樣品誤判為Gj的概率為 設來自Gi的樣品誤判為Gj的損失記為c(j|i),于是得到損失矩陣于是來自Gi的樣品誤判為來自其他總體的概率72 當Gj出現的概率為pj,j=1,2,k時,誤判的平均概率是 于是來自Gi的樣品誤判為來自其他總體的損失為來自Gi的樣品誤判為來自其他總體的平均損失為73在多個總體的判別中,仍然是考慮平均損失最小,即后驗概率最大作為判別準則

24、.745 判別分析概說 判別分析方法最初應用于考古學, 例如要根據挖掘出來的人頭蓋骨的各種指標來判別其性別年齡等. 近年來, 在生物學分類, 醫療診斷, 地質找礦, 石油鉆探, 天氣預報等許多領域, 判別分析方法已經成為一種有效的統計推斷方法. 假定需要作出判別分析的對象分成 r 類, 記作A1, A2, , Ar , 每一類由m個指標的若干個標本確定, 即A1, A2, Ar為已知的分類. 現在問待判斷的對象x = (x1, x2, xm)T是屬于A1, A2, Ar中的哪一類?這就構成了判別分析問題的基本內容. 75判別分析: 判別分析是用于判別個體所屬群體的一種統計方法,判別分析的特點是

25、根據已掌握的、歷史上每個類別的若干樣本的數據信息,總結出客觀事物分類的規律性,建立判別公式和判別準則。然后,當遇到新的樣本點時,只要根據總結出來的判別公式和判別準則,就能判別該樣本點所屬的類別。判別分析是一種應用性很強的統計數據分析方法。 76判別分析的原理: 為了能識別待判斷的對象x = (x1, x2, xm)T是屬于已知類A1, A2, Ar中的哪一類? 事先必須要有一個一般規則, 一旦知道了x的值, 便能根據這個規則立即作出判斷, 稱這樣的一個規則為判別規則. 判別規則往往通過的某個函數來表達, 我們把它稱為判別函數, 記作W(i; x). 一旦知道了判別函數并確定了判別規則,最好將已

26、知類別的對象代入檢驗,這一過程稱為回代檢驗,以便檢驗你的判別函數和判別規則是否正確.77判別分析的主要方法: 判別分析的主要方法有距離判別方法、費希爾 (Fisher)判別方法、貝葉斯(Bayes)判別方法. 距離判別方法:判別函數W(i; x) = d (x, Ai ), 其中d (x, Ai )為待判別對象x到第i類Ai的距離. 判別規則為若W(k; x) = minW(i; x)| i =1, 2, , r , 則xAk . 貝葉斯(Bayes)判別方法:判別函數W(i; x ) = pii(x), 其中pi為待判別對象xAi的概率,如果沒有任何這種附加的先驗信息,通常取pi = 1/r. i(x)為已知類別Ai的分布密度判別規則為若W(k; x ) = maxW(i; x )| i =1, 2, , r ,則xAk. 78 Fisher準則分類的模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論