蠓虫分类模型.docx
- 文档编号:8780790
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:10
- 大小:36.78KB
蠓虫分类模型.docx
《蠓虫分类模型.docx》由会员分享,可在线阅读,更多相关《蠓虫分类模型.docx(10页珍藏版)》请在冰豆网上搜索。
蠓虫分类模型
蠓虫的分类模型
摘要
本文通过对两类蠓虫的触角长和翅长数据进行分析,用画散点图的方法对两类蠓虫进行区分,利用判别分析建模方法对未知的三个样本进行识别,将它们分类。
在生物学中,根据触角长和翅长来识别一只蠓虫标本是Af还是Apf是很重要的。
本文为此提供了方法。
在模型一中,本文通过画散点图,进而画出两条斜线将两类蠓虫分别划分在斜线的两侧,对它们进行分类。
在模型二中,本文通过马氏距离判别法对未知的三个样本进行判别,并将它们归类。
得出的结果为:
三个未知样本均为Apf类。
在模型三中,本文修改分类方法,用贝叶斯判别法对三个未知样本进行判别分类。
计算结果表明:
三个未知样本均属于Apf类。
最后,本文对马氏距离判别法做了误差分析,通过回代误判率和交叉误判率对模型进行评价。
计算结果为:
回代误判率为0,交叉误判率为0.0667。
说明模型判别方法较准确。
本文从绘制散点图,利用判别分析建模方法角度对两类蠓虫进行识别,并对未知样本分类,进而利用误差分析对模型准确性予以预测,逐步深化,最后对模型进行评价与推广。
关键词散点图马氏距离贝叶斯回代误判交叉误判
一、问题重述
(一)背景知识
两种蠓虫Af和Apf已由生物学家罗纳(w.L.Grogna)和维尔恩(W.W.Wirth)于1981年根据它们的触角长(mm)和翅长(mm)加以区分,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),(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)。
在生物学中,根据触角长和翅长来识别一只蠓虫标本是Af还是Apf是很重要的。
(二)要解决的问题
1、根据给定的数据,制定一种方法,正确区分两类蠓虫;
2、用我们的方法对触长、翅长分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个样本进行识别;
3、假设Af是宝贵的传粉益虫,Apf是某种疾病的载体,在这种情况下我们是否应该修改所用的分类方法。
二、问题的分析
1、对问题一的分析
对问题一,我们利用画出散点图,再画斜线的方法对给出的6只Apf和9只Af蠓虫进行区分。
2、对问题二的分析
对问题二,我们可以根据马氏距离判别分析法对未知的三个样本进行识别,将它们分类。
3、对问题三的分析
对问题三,我们可以修改分类方法,用贝叶斯判别法对所给三个样本进行判别,将它们分类。
三、模型的假设
1、在问题一中,假设两类蠓虫的协方差矩阵是相等的;
2、假设Apf与Af的总数相同或Apf占总数的
,Af占总数的
,这样在用贝叶斯判别法时,即可用按比例分配方法估计两个总体的先验概率;
3、样本无性别差异。
4、触角长与翅长作为指标同样重要。
5、用触角长与翅长来判别蠓虫是充分的。
四、符号说明
A………………………………………………Apf类蠓虫
B………………………………………………Af类蠓虫
m1………………………………………………A类的均值向量
m2………………………………………………B类的均值向量
S1………………………………………………A类的协方差矩阵
S2………………………………………………B类的协方差矩阵
n1………………………………………………A类样本的容量
n2………………………………………………B类样本的容量
五、模型的建立与求解
1、问题一的建立与求解
区分步骤:
(1)利用Matlab软件,画出两类蠓虫分布的散点图如下:
(2)由散点图我们可以画出两条斜线,由此区分两类蠓虫,如下所示:
图2用斜线区分两类蠓虫
(3)由图我们可以区分出两类蠓虫
2、问题二的建立与求解
用马氏距离判别步骤:
(1)计算A、B两类的均值向量与协方差矩阵;
m1=mean(A),m2=mean(B),
S1=cov(A),S2=cov(B);
(2)计算总体的协方差矩阵
;
(3)计算未知样本x到A,B两类马氏平方距离之差:
d=(x-m1)S-1(x-m1)’-(x-m2)S-1(x-m2)’;
(4)若d<0,则x属于A类;若d>0,则x属于B类。
(5)模型的求解:
我们利用Matlab软件进行编程,可以求出三个样本到A类与B类的距离之差分别为d=-4.3279,-2.7137,-3.9604,三个均为负值,这说明三个样本到A类的距离要近一点,所以这三个样本都应归于Apf类。
3、问题三的建立与求解
我们改变分类方法,用贝叶斯判别法判别蠓虫,其步骤如下:
(1)判别总体的协方差矩阵是否相等;
(2)总体是否服从正态分布:
首先对每个指标进行一元正态分布的检验,若有一个指标不服从正态分布,则总体不服从正态分布;若每个指标都服从一元正态分布,且各指标不相关则总体服从正态分布。
(3)利用按比例分配方法估计两个总体的先验概率:
两类蠓虫所占比例即为:
p1=6/(6+9)=0.4;p2=9/(6+9)=0.6;
(4)m1=mean(A);m2=mean(B);
s1=cov(A);s2=cov(B);
S=(5*s1+8*s2)/13;
然后再利用Matlab软件进行编程计算,贝叶斯判别的准则即为后验概率最大准则,我们可以计算d,其中d为样本x到总体A,B的马氏距离平方。
(5)模型的求解:
计算可得结果为:
d1=1.7585,d2=0.9514,d3=1.5747;
全部大于零,即p1f1>p2f2,所以待判的三个蠓虫均属于Apf类。
六、灵敏度分析
本模型在对问题一的分析中,假设两个总体的协方差矩阵是相等的,而实际上,两个总体的协方差矩阵不一定相等,且两个总体的协方差矩阵是否相等对结果有较大影响。
因此在解决实际问题时,首先要判别两个总体的协方差矩阵是否相等。
对本模型,我们需要进行误差分析。
1、回代误判率估计
设G1,G2为两个总体,X1,X2,…,Xm和Y1,Y2,…,Yn是分别来自G1,G2的训练样本,以全体训练样本作为m+n个新样品,逐个代入已建立的判别准则中判别其归属,这个过程称为回判。
若属于G1的样品被误判为属于G2的个数为N1个,属于G2的样品被误判为属于G1的个数为N2个,则误判率估计为:
p=(N1+N2)/(m+n)。
我们可以利用Matlab进行编程,然后可以计算出回代误判率,计算所得结果为:
0。
2、交叉误判率估计
交叉误判率估计是每次剔除一个样品,利用其余的m+n-1个训练样本建立判别准则再用所建立的准则对删除的样品进行判别。
对训练样本中每个样品都做如上分析,以其误判的比例作为误判率。
①从A样本开始,剔除其中一个样品,剩余的m-1个样品与B中的全部样品建立判别函数;
②用建立的判别函数对剔除的样品进行判别;
③重复步骤①,②,直到A中的全部样品依次被删除,又进行判别,其误判的样品个数记为m12;
④对B的样品重复步骤①,②,③直到B中的全部样品依次被删除又进行判别,其误判的样品个数记为n21;
于是交叉误判率估计为:
我们利用Matlab进行编程,可以算出d分别为-2.3578,13.0063,25.6839,9.9036,3.9858,21.4866,21.5880,35.9855,5.0837。
这说明有一个误判,即误判率为:
p=
0.0667。
通过回代误判率和交叉误判率我们可以说明本模型是较准确的。
七、模型的评价与推广
1、模型的优点
本模型通过马氏距离判别法和贝叶斯判别法进行求解,对三个未知样本进行判别,在灵敏度分析中继而对误判率进行分析,得出的结果较准确,较具有现实意义。
2、模型的缺点
本模型用的是判别分析建模方法,模型中有一些假设,实际生活中可能不完全成立,所以有一定局限性。
3、模型的推广
本模型还可以用别的方法如人工神经网络法进行求解,假设条件也可以放宽,这样得出的结论才更准确。
参考文献
附件:
1、画两类蠓虫分布散点图的程序:
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
plot(apf(:
1),apf(:
2),'*b',af(:
1),af(:
2),'or')
2、用贝叶斯判别法判别蠓虫的程序:
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
x=[1.24,1.8;1.28,1.84;1.4,2.04];
p1=0.4;p2=0.6;
m1=mean(apf);m2=mean(af);s1=cov(apf);s2=cov(af);
S=(5*s1+8*s2)/13;
fori=1:
3,
d(i,:
)=log(0.4)-0.5*((x(i,:
)-m1)*inv(S)*(x(i,:
)-m1)')
-(log(0.6)-0.5*((x(i,:
)-m2)*inv(S)*(x(i,:
)-m2)'))
end
d=
1.7585
0.9514
1.5747
3、计算回代误判率的程序:
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
m1=mean(apf);m2=mean(af);s1=cov(apf);s2=cov(af);
S=(5*s1+8*s2)/13;
fori=1:
6,
D(i)=(apf(i,:
)-m1)*inv(S)*(apf(i,:
)-m1)'-(apf(i,:
)-m2)*inv(S)*(apf(i,:
)-m2)';
n1=0
ifD>0
n1=n1+1;
else
n1=n1;
end
end
n1
输出:
n1=0
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
m1=mean(apf);m2=mean(af);s1=cov(apf);s2=cov(af);
S=(5*s1+8*s2)/13;
fori=1:
9,
D(i)=(af(i,:
)-m1)*inv(S)*(af(i,:
)-m1)'-(af(i,:
)-m2)*inv(S)*(af(i,:
)-m2)';
n2=0
ifD(i)<0
n2=n2+1;
else
n2=n2;
end
end
n2
输出:
n2=0
4、计算交叉误判率的程序:
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
fori=1:
6,
B=[apf(1:
i-1,:
);apf(i+1:
6,:
)];
m1=mean(B);m2=mean(af);s1=cov(B);s2=cov(af);
s=(4*s1+8*s2)/12;
n1=5;n2=9;p=2;
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));
p1=1-chi2cdf(Q01,((p*(p+1))/2))
p2=1-chi2cdf(Q02,((p*(p+1))/2))
ifp1&p2>0.05
D=(apf(i,:
)-m1)*inv(s)*(apf(i,:
)-m1)'-(apf(i,:
)-m2)*inv(s)*(apf(i,:
)-m2)';
else
D=mahal(B,apf)-mahal(B,af);
end
n3=0
ifD>0
n3=n3+1
end
end
n3
输出:
n3=0
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;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.48,1.82;1.54,1.82;1.56,2.08];
fori=1:
9,
B=[af(1:
i-1,:
);af(i+1:
9,:
)];
m1=mean(apf);m2=mean(B);s1=cov(apf);s2=cov(B);
s=(5*s1+7*s2)/12;
n1=6;n2=8;p=2;
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));
p1=1-chi2cdf(Q01,p*(p+1)/2);
p2=1-chi2cdf(Q02,p*(p+1)/2);
ifp1>0.05&p2>0.05
D(i)=(af(i,:
)-m1)*inv(s)*(af(i,:
)-m1)'-(af(i,:
)-m2)*inv(s)*(af(i,:
)-m2)' ;
else
D(i)=mahal(B,apf)-mahal(B,af);
end
n3=0;
ifD(i)<0
n3=n3+1;
end
end
n3
输出:
n3=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蠓虫 分类 模型