《数据分析》实验报告三

  • 格式: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