《数据分析》实验报告三
- 格式:docx
- 大小:22.94 KB
- 文档页数:6
课程名称 数据分析方法 课程编号
实验地点 系统建模与仿真实验室 SL110 实验时间
校外指导教师 无 校内指导教师
实验名称 实验3距离判别与贝叶斯判别分析
评阅人签字
成绩
实验数据与内容
我国山区某大型化工厂, 在厂区及邻近地区挑选有代表性的 15个大气取样点,每日4次同时抽取
大气样品, 测定其中含有的6种气体的浓度, 前后共4天,每个取样点每种气体实测16次,计算
每个取样点每种气体的平均浓度, 数据见表4-8。气体数据对应的污染地区分类见表 4-8中最后一列。
现有两个取自该地区的4个气体样本,气体指标见表 4-8中后4行,试解决以下问题:
1.判别两类总体的协方差矩阵是否相等, 然后用马氏距离差别这4个未知气体样本的污染类别, 并
计算回代误判率与交叉误判率; 若两类总体服从正态分布, 第 」类与第二类的先验概率分别为 7/15、
8/15 ,利用贝叶斯判别样本的污染分类。
2•先验概率为多少时,距离判别与贝时斯判别相同 ?调整先验概率对判别结果的影响是什么 ?
3•对第一类与第 1类的先验概率分别为 7/15、8/15,计算误判概率。
*4-8大气样品數据表
气 萍 ft «比氧 二ft化離
4 环丙烷
1 0. 056 ①084
11 0*031 0. 038 0. 0081
0.022 1
2 0. 040 0. 055 0. 100' 0. 110 0. 0220
0.007 3 1
3 0. 050 ①074 0. 04] 0. 048 0. 007 1
0.020 1
4 0. 045 Ob OSt) 0.110 0. LOD 0. 025 0
O.OOS3 1
5 0. 033 a 130 Q" 079 0. 170 0. 058 0
0,043 2
& 0. 030 0. 110 0.070 d L60 0. 050 0
0.C4S 2
7 0. 034 0. 095 0* 0. 160 0, 200
0. 029 1
f续)
% 协 ft ft化氢 二氧代* 碳 4 环《氯丙煜 环己烷 钙!fe井帶
& 0.030 0, 090 0.06& 0, 180 0. 220
0*039 1
9 ①OS4 0.负 0. 029 0.320 0.012
0.011 2
10 仇OS5 0. 076 0. Q1S 0 .300 0. 010
(X 040 2
11 6 064 0,072 0. 020 0.250 0. 0ZS
6 038 2
12 0. 054 0. 065 0. 022 0. 2 SO 0. 021
0. 040 2
13 6 048 0+ 0fi9 0. 062 6 260 0- 038
0. 036 2
14 0'. 045 0.092 0. 072 6 £00 ' 0. 035
0. 032. 2
15 m 069 0.087 0. 027 0.050 0. 0B9
0. 021 1
样品】 Q. 053 0.0S4 0. 021 0. 037 0. 007 1
0, 022 1持定
祥品2 0. Q41 0.055 0. 110 0. 110 0. 021 0
0. 007 3 持定
样罷3 a 030 0,112 0.073 0. 1GD 0. 056 0.021 ' f擬
样品4 0. 074 0.083 0. 105 0. 190 0, 020
L 000 特定
精选文档
2
一、实验目的
1. 熟练掌握MATLAft件进行距离判别与贝叶斯判别的方法与步骤。
2. 掌握判别分析的回代误判率与交叉误判率的编程。
3. 掌握贝叶斯判别的误判率的计算。
二、实验原理
1)在MATLAB^,进行数据的判别分析命令为 classify,其调用格式为:
class= classify(sample,training,group ' type ')
将sample数据的每一行指定到训练集 training 的一个类中。Sample和training 必须具有相同的列数。grouP向量包含从1到组数的正整数,它指明训练营集中的每
行属于哪一类。 grouP和training 必须具有 相同的行 数。’type '是可 选项, 选'linear
'表示总体为多元正态总体,选'quadratic '与'mahalanobis '。该函数 返回class,它是一个与sample具有相同行数的向量。Class的每一个元素指定sample
中对应元素的分类。通过计算sample和training 中每一行的马氏距离,classify 函数 决定sample中的每一行属于哪一个分类。
2)贝叶斯判别方法步骤
第1步,验证两个总体服从二元正态分布;第 2步,检验两个总体的协方差矩阵相
等;估计两个总体的先验概率 p1、p2;利用MATLA软件计算。
3)回代误判率
设G1, G2为两个总体,x1,x2…和y1,y2…是分别来自G1, G2的训练样本,以全体
训练样本作为m+n个新样品,逐个代入已建立的判别准则中判别其归属,这个过程称为 回判。回判结果中若属于 G1的样品被误判为属于G2的个数为N1个,属于G2的样品被
误判为属于G1的个数为N2个,则误判估计为:
PA= ( N1+N2 /(m+n)
误判率的回代估计易于计算。但是,pA是由建立判别函数的数据反过来用作评估准 则的数据而得到的。所以有偏,往往比真实误判率小。当训练样本容量较大时, 作为真实误判率的一种估计。
4)交叉误判率估计是每次剔除一个样品, 利用m+n-1个训练样本建立判别准则,再 利用建立的准则对删除的样本进行判别。对每个样品做如上分析,以其误判的比例作为 误判率,步骤;
从总体G1的训练样本开始,剔除其中一个样品,剩余的 m-1个样品与G2中的全部
样品建立判别函数; pA可以 精选文档
3
用建立的判别函数对剔除的样品进行判别;
重复以上步骤,直到G1中的全部样本依次被删除又进行判别, 其误判的样品个数记 为 N1*;
对G2的样品重复以上步骤,直到 G2中的全部样本依次被删除又进行判别,其误判
的样品个数记为N2*。
于是交叉误判率估计为:
pA*=(N1*+N2*)/(m+n)
5)贝叶斯判别的有效性可以通过平均误判率来确定。 判别准则的误判率在一定程度 上依赖于所考虑的各总体间的差异程度。各总体间差异越大,就越有可能建立有效的判 别准则。如果各总体间差异很小,做判别分析的意义不大。
三、实验步骤
输入数据,判别两类总体的协方差阵是否相等,用马氏距离判断判别污染类别,计算 回代误判率与交叉误判率,贝叶斯判别污染分类。
四、实验过程原始记录(数据、图表、计算等)
1、输入矩阵,计算协方差矩阵是否相等
>> A=[0.0560 0.0840 0.0310 0.0380 0.0081 0.0220
>> x=[0.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],:);
>> n仁size(G1,1);
>> n2=size(G2,1);
>> n=n1+n2;
>> k=2;
>> p=6;
>> f=p *( p+1)*(k-1)/2;
>> d=(2* pA2+3* p-1)*(1/( n1-1)+1/( n2-1)-1/( n-k))/(6*( p+1)*(k-1)); 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] 精选文档
4
>> p1= n1/n; p2=n2/n;
>> m1=mea n(G1);m2=mea n( 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)));
>> T=(1-d)*M
-44.8237 + 0.9288i >> C=ch i2in v(0.95,f)
32.6706 >> if T
else disp('两组数据协方差不相等');
end
两组数据协方差相等
2、构造判别函数,得出判别结果
>> for i=1:4 w(1)=m1*i nv(s)*x(i,:)'-1/2*m1*i nv(s)*m1'+log( p1);
w(2)=m2*i nv(s)*x(i,:)'-1/2*m1*i nv(s)*m2'+log( p2);
for j=1:2 if w(j)==max(w) disp(['待判样品属于第’,num2str(j),' 类污染']);
end end end