第七章 判别分析.doc

上传人:仙人指路1688 文档编号:4171381 上传时间:2023-04-08 格式:DOC 页数:4 大小:100.50KB
返回 下载 相关 举报
第七章 判别分析.doc_第1页
第1页 / 共4页
第七章 判别分析.doc_第2页
第2页 / 共4页
第七章 判别分析.doc_第3页
第3页 / 共4页
第七章 判别分析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《第七章 判别分析.doc》由会员分享,可在线阅读,更多相关《第七章 判别分析.doc(4页珍藏版)》请在三一办公上搜索。

1、判别分析(Discriminant Analysis)在实际工作中,我们经常遇到分类问题。在古老的分类学中,人们主要依靠经验和专业知识,很少用到数学。随着科学技术的发展,产生了数值分类学。一般地,若事先已经建立类别,则使用判别分析,若事先没有建立类别,则使用聚类分析。判别分析在生物学、医学、地质学、石油、气象等领域得到较为广泛的应用。(一)协方差矩阵设是一个二维随机变量,又,则称为与的协方差,记作。例如,在Matlab软件包中写一个名字为opt_cov_1的M文件:x=1 2 3;y=3 2 1;cov(x,y)存盘后按F5键执行,得到结果:ans = 1 -1 -1 1 设是n维随机变量,定

2、义,则称为的协方差矩阵。(二)基本数学原理判别分析是利用原有的分类信息,得到判别函数(判别函数是这种分类的函数关系式,一般是与分类相关的若干个指标的线性关系式),然后利用该函数去判断未知样品属于哪一类。因此,这是一个学习和预测的过程。常用的判别分析法有距离判别法、费歇尔判别法、贝叶斯判别法等。(1)距离判别法距离判别法有欧氏距离法和马氏距离法等。其中,欧氏距离法比较粗糙,Matlab软件包中采用的是马氏距离法。 假设共有n个指标,第个指标共测得m个数据(要求):于是,我们得到阶的数据矩阵,每一行是一个样本数据。阶数据矩阵X的阶协方差矩阵记作。 求n维向量到mn矩阵X的马氏距离定义 ,则n维向量

3、到mn矩阵X的马氏距离的公式如下:其中,表示第个指标的算术平均值。矩阵X到自身的马氏距离,相当于矩阵X的每一行到X的马氏距离,记作。做这种运算可以求出矩阵X的异常值。注意:马氏距离法没有考虑样本指标值的分布。例1 有83数据矩阵如下:x = 0.052,0.084,0.021;0.037,0.0071,0.022;0.041,0.055,0.11;0.11,0.021,0.0073;0.030,0.112,0.072;0.16,0.056,0.021;0.074,0.083,0.105;0.19,0.02,1在Matlab软件包中输入以下程序:x = 0.052,0.084,0.021;0.0

4、37,0.0071,0.022;0.041,0.055,0.11;0.11,0.021,0.0073;0.030,0.112,0.072;0.16,0.056,0.021;0.074,0.083,0.105;0.19,0.02,1d = mahal(x, x)执行后得到d = 0.6998 3.9050 0.8310 1.8819 2.7672 4.2424 0.5991 6.0735可见,矩阵X中第二行、第五行、第六行、第八行数据异常。(2)费歇尔判别法 该法是以费歇尔准则为标准来评选判别函数的。所谓费歇尔准则,指的是较优的判别函数应该能根据待判对象的n个指标最大限度的将它所属的类与其它类区

5、分开来。一般采用线性函数作为判别函数。基本方法是:首先假定一个线性的判别函数,然后根据已知信息对判别函数进行训练,得到函数关系式中的系数,从而最终确定判别函数。该法有时会使误判次数增加,但由于使用的是线性函数,所以使用起来也比较方便。(3)贝叶斯判别法 贝叶斯判别法是一种概率方法,它的好处是可以从分利用先验信息,可以考虑专家的意见。应用此方法,需要事先假定样本指标值的分布(例如,多元正态分布等)。 在Matlab软件包中,将已经分类的m个数据(长度为n)作为行向量,得到一个矩阵training,每行都属于一个分类类别,由它构成一个整数列向量g(共有m行),待分类的k个数据(长度为n)作为行向量

6、,得到一个矩阵sample,然后利用classify函数进行线性判别分析(默认)。它的格式为:classify(sample, training, group),其中,sample与training必须具有相同的列数,group与training必须具有相同的行数,group是一个整数向量。Matlab内部函数classify的功能是将sample 的每一行进行判别,分到training指定的类中。进一步,较复杂的格式为:class, err= classify (sample, training, group, type)其中,class返回分类表,err返回误差比例信息,sample是样本

7、数据矩阵,training是已有的分类数据矩阵,group是分类列向量,type有3种选择:type = linear (默认设置),表示进行线性判别分析;type = quadratic,表示进行二次判别分析;type = mahalanobis,表示用马氏距离进行判别分析。例2 某地大气样品污染分类表如下气体氯硫化氢二氧化硫碳4环氧氯丙烷环己烷污染分类10.0560.0840.0310.0380.00810.022120.0400.0550.10.110.0220.0073130.050.0740.0410.0480.00710.02140.0450.050.110.10.0250.006

8、3150.0380.130.0790.170.0580.043260.030.110.070.160.050.046270.0340.0950.0580.160.20.029180.030.090.0680.180.220.039190.0840.0660.0290.320.0120.0412100.0850.0760.0190.30.010.042110.0640.0720.020.250.0280.0382120.0540.0650.0220.280.0210.042130.0480.0890.0620.260.0380.0362140.0450.0920.0720.20.0350.032

9、2150.0690.0870.0270.050.0890.0211在此地某大型化工厂的厂区及邻近地区挑选4个有代表性的大气样本取样点,获取数据如下气体氯硫化氢二氧化硫碳4环氧氯丙烷环己烷污染分类样品10.0520.0840.0210.0370.00710.022样品20.0410.0550.110.110.0210.0073样品30.030.1120.0720.160.0560.021样品40.0740.0830.1050.190.021求它们的污染分类。 在Matlab软件包中写一个名字为opt_class_1的M文件:training=0.056 0.084 0.031 0.038 0.0

10、081 0.022 0.04 0.055 0.1 0.11 0.022 0.0073 0.05 0.074 0.041 0.048 0.0071 0.02 0.045 0.05 0.11 0.1 0.025 0.0063 0.038 0.13 0.079 0.17 0.058 0.043 0.03 0.11 0.07 0.16 0.05 0.046 0.034 0.095 0.058 0.16 0.2 0.029 0.03 0.09 0.068 0.18 0.22 0.039 0.084 0.066 0.029 0.32 0.012 0.041 0.085 0.076 0.019 0.3 0.

11、01 0.04 0.064 0.072 0.02 0.25 0.028 0.038 0.054 0.065 0.022 0.28 0.021 0.04 0.048 0.089 0.062 0.26 0.038 0.036 0.045 0.092 0.072 0.2 0.035 0.032 0.069 0.087 0.027 0.05 0.089 0.021;group=1;1;1;1;2;2;1;1;2;2;2;2;2;2;1;sample=0.052 0.084 0.021 0.037 0.0071 0.022 0.041 0.055 0.11 0.11 0.021 0.0073 0.03 0.112 0.072 0.16 0.056 0.021 0.074 0.083 0.105 0.19 0.02 1;class=classify(sample,training,group)存盘后按F5键执行,得到结果:class = 1 1 2 2即,样品1、样品2为1类污染,样品3、样品4为2类污染。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号