《《數(shù)據(jù)分析》實驗報告三》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)分析》實驗報告三(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、課程名稱
數(shù)據(jù)分析方法
課程編號
實驗地點(diǎn)
系統(tǒng)建模與仿真實驗室SL110
實驗時間
校外指導(dǎo)教師
無
校內(nèi)指導(dǎo)教師
實驗名稱
實驗3 距離判別與貝葉斯判別分析
評閱人簽字
成績
實驗數(shù)據(jù)與內(nèi)容
我國山區(qū)某大型化工廠, 在廠區(qū)及鄰近地區(qū)挑選有代表性的15個大氣取樣點(diǎn),每日4次同時抽取大氣樣品, 測定其中含有的6種氣體的濃度, 前后共4天, 每個取樣點(diǎn)每種氣體實測16次, 計算每個取樣點(diǎn)每種氣體的平均濃度, 數(shù)據(jù)見表4-8。氣體數(shù)據(jù)對應(yīng)的污染地區(qū)分類見表4-8中最后一列。 現(xiàn)有兩個取自該地區(qū)的4個氣體樣本,氣體指標(biāo)見表4-8中后4行,試解決以下問題
2、:
1. 判別兩類總體的協(xié)方差矩陣是否相等,然后用馬氏距離差別這4個未知?dú)怏w樣本的污染類別, 并計算回代誤判率與交叉誤判率;若兩類總體服從正態(tài)分布,第一類與第二類的先驗概率分別為7/15、8/15, 利用貝葉斯判別樣本的污染分類。
2.先驗概率為多少時,距離判別與貝時斯判別相同?調(diào)整先驗概率對判別結(jié)果的影響是什么?
3.對第一類與第二類的先驗概率分別為7/15、8/15,計算誤判概率。
一、實驗?zāi)康?
1.熟練掌握MATLAB軟件進(jìn)行距離判別與貝葉斯判別的方法與步驟。
2.掌握判別分析的回代誤判率與交叉誤判率的編程。
3.掌握貝葉斯判別的誤判率的計算。
二、實驗原理
1
3、)在MATLAB中,進(jìn)行數(shù)據(jù)的判別分析命令為classify,其調(diào)用格式為:
class=classify(sample,training,group’type’)
將sample數(shù)據(jù)的每一行指定到訓(xùn)練集training的一個類中。Sample和training必須具有相同的列數(shù)。group向量包含從1到組數(shù)的正整數(shù),它指明訓(xùn)練營集中的每一行屬于哪一類。group和training必須具有相同的行數(shù)。’type’是可選項,選’linear’表示總體為多元正態(tài)總體,選’quadratic’與’mahalanobis’。該函數(shù)返回class,它是一個與sample具有相同行數(shù)的向量。Class
4、的每一個元素指定sample中對應(yīng)元素的分類。通過計算sample和training中每一行的馬氏距離,classify函數(shù)決定sample中的每一行屬于哪一個分類。
2)貝葉斯判別方法步驟
第1步,驗證兩個總體服從二元正態(tài)分布;第2步,檢驗兩個總體的協(xié)方差矩陣相等;估計兩個總體的先驗概率p1、p2;利用MATLAB軟件計算。
3)回代誤判率
設(shè)G1,G2為兩個總體,x1,x2…和y1,y2…是分別來自G1,G2的訓(xùn)練樣本,以全體訓(xùn)練樣本作為m+n個新樣品,逐個代入已建立的判別準(zhǔn)則中判別其歸屬,這個過程稱為回判?;嘏薪Y(jié)果中若屬于G1的樣品被誤判為屬于G2的個數(shù)為N1個,屬于G2的樣品被
5、誤判為屬于G1的個數(shù)為N2個,則誤判估計為:
P^=(N1+N2)/(m+n)
誤判率的回代估計易于計算。但是,p^是由建立判別函數(shù)的數(shù)據(jù)反過來用作評估準(zhǔn)則的數(shù)據(jù)而得到的。所以有偏,往往比真實誤判率小。當(dāng)訓(xùn)練樣本容量較大時,p^可以作為真實誤判率的一種估計。
4)交叉誤判率估計是每次剔除一個樣品,利用m+n-1個訓(xùn)練樣本建立判別準(zhǔn)則,再利用建立的準(zhǔn)則對刪除的樣本進(jìn)行判別。對每個樣品做如上分析,以其誤判的比例作為誤判率,步驟;
從總體G1的訓(xùn)練樣本開始,剔除其中一個樣品,剩余的m-1個樣品與G2中的全部樣品建立判別函數(shù);
用建立的判別函數(shù)對剔除的樣品進(jìn)行判別;
重復(fù)以上步驟,直到G1
6、中的全部樣本依次被刪除又進(jìn)行判別,其誤判的樣品個數(shù)記為N1*;
對G2的樣品重復(fù)以上步驟,直到G2中的全部樣本依次被刪除又進(jìn)行判別,其誤判的樣品個數(shù)記為N2*。
于是交叉誤判率估計為:
p^*=(N1*+N2*)/(m+n)
5)貝葉斯判別的有效性可以通過平均誤判率來確定。判別準(zhǔn)則的誤判率在一定程度上依賴于所考慮的各總體間的差異程度。各總體間差異越大,就越有可能建立有效的判別準(zhǔn)則。如果各總體間差異很小,做判別分析的意義不大。
三、實驗步驟
輸入數(shù)據(jù),判別兩類總體的協(xié)方差陣是否相等,用馬氏距離判斷判別污染類別,計算回代誤判率與交叉誤判率,貝葉斯判別污染分類。
四、實驗過程原始記
7、錄(數(shù)據(jù)、圖表、計算等)
1、輸入矩陣,計算協(xié)方差矩陣是否相等
>> A=[0.0560 0.0840 0.0310 0.0380 0.0081 0.0220
0.0400 0.0550 0.1000 0.1100 0.0220 0.0073
……
0.0690 0.0870 0.0270 0.0500 0.0890 0.0210
0.0520 0.0840 0.0210 0.0370 0.0071 0.0220]
>> x=[0
8、.052 0.084 0.021 0.037 0.0071 0.022
0.0410 0.0550 0.1100 0.1100 0.0210 0.0073
0.0300 0.1120 0.0720 0.1600 0.0560 0.0210
0.0740 0.0830 0.1050 0.1900 0.0200 1.0000]
>> G1=A([1:4 7:8 15],:);
>> G2=A([5:6 9:4 15],:);
>> n1=size(G1,1);
>> n2=size(G2,1);
9、
>> n=n1+n2;
>> k=2;
>> p=6;
>> f=p*(p+1)*(k-1)/2;
>> d=(2*p^2+3*p-1)*(1/(n1-1)+1/(n2-1)-1/(n-k))/(6*(p+1)*(k-1));
>> p1=n1/n;p2=n2/n;
>> m1=mean(G1);m2=mean(G2);
>> s1=cov(G1);s2=cov(G2);
>> s=((n1-1)*s1+(n2-1)*s2)/(n-k);
>> M=(n-k)*log(det(s))-((n1-1)*log(det(s1))+(n2-1)*log(det(s2)));
10、>> T=(1-d)*M
T =
-44.8237 + 0.9288i
>> C=chi2inv(0.95,f)
C =
32.6706
>> if T> for i=1:4
w(1)=m1*inv(s)*x(i,:)-1/2*m1*inv(s)*m1+log(p1);
w(2)=m2*inv(s)*x(i,:)-1/2*m1*inv(s)*m2+log(p2);
for j=1:
11、2
if w(j)==max(w)
disp([待判樣品屬于第,num2str(j),類污染]);
end
end
end
待判樣品屬于第2類污染
待判樣品屬于第2類污染
待判樣品屬于第2類污染
待判樣品屬于第2類污染
3、計算回代誤判率
>> n11=0;n22=0;
>> for i=1:n1
w1(i,1)=m1*inv(s)*G1(i,:)-1/2*m1*inv(s)*m1+log(p1);
w1(i,2)=m2*inv(s)*G1(i,:)-1/2*m2*inv(s)*m2+log(p2);
for j=1:2
if w1(i,j)==max(w1(i
12、,:))&j~=1
n11=n11+1;
end
end
end
>> for i=1:n2
w2(i,1)=m1*inv(s)*G2(i,:)-1/2*m1*inv(s)*m1+log(p1);
w2(i,2)=m2*inv(s)*G2(i,:)-1/2*m2*inv(s)*m2+log(p2);
for j=1:2
if w2(i,j)==max(w2(i,:))&j~=2
n22=n22+1;
end
end
end
>> poo=(n11+n22)/(n1+n2)
poo =
0.1000
4、計算交叉誤判率
>> N11=0;N22=0;
>>
13、 for k=1:n1
A=G1([1:k-1,k+1:n1],:);
N1=length(A(:,1));
M1=mean(A,1);s11=cov(A);
S1=((N1-1)*s11+(n2-1)*s2)/(N1+n2-k);
po1=N1/(n-1);po2=n2/(n-1);
for i=1:n1
w1(i,1)=M1*inv(S1)*G1(i,:)-1/2*M1*inv(S1)*M1+log(po1);
w1(i,2)=m2*inv(S1)*G1(i,:)-1/2*m2*inv(S1)*m2+log(po2);
for j=1:2
if w1(i.j)==max(W1(i,:))&j~=1
N11=N11+1;
end
end
end
end
嘗試引用非結(jié)構(gòu)體數(shù)組的字段(我沒轍了,實在不知道哪錯了)
五、實驗結(jié)果及分析
此題用貝葉斯判別法分析效果明顯
說明:此部分的內(nèi)容和格式可根據(jù)實驗課程的具體需要、要求自行設(shè)計和確定相關(guān)欄目。