- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
判别分析
(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维随机变量,定义,则称
为的协方差矩阵。
(二)基本数学原理
判别分析是利用原有的分类信息,得到判别函数(判别函数是这种分类的函数关系式,一般是与分类相关的若干个指标的线性关系式),然后利用该函数去判断未知样品属于哪一类。因此,这是一个学习和预测的过程。
常用的判别分析法有距离判别法、费歇尔判别法、贝叶斯判别法等。
(1)距离判别法
距离判别法有欧氏距离法和马氏距离法等。其中,欧氏距离法比较粗糙,Matlab软件包中采用的是马氏距离法。
假设共有n个指标,第个指标共测得m个数据(要求):
于是,我们得到阶的数据矩阵,每一行是一个样本数据。阶数据矩阵X的阶协方差矩阵记作。
求n维向量到m×n矩阵X的马氏距离
定义 ,则n维向量到m×n矩阵X的马氏距离的公式如下:
其中,表示第个指标的算术平均值。
②矩阵X到自身的马氏距离,相当于矩阵X的每一行到X的马氏距离,记作。做这种运算可以求出矩阵X的异常值。
注意:马氏距离法没有考虑样本指标值的分布。
例1 有8×3数据矩阵如下:
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.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]
d = mahal(x, x)
执行后得到
d =
0.6998
3.9050
0.8310
1.8819
2.7672
4.2424
0.5991
6.0735
可见,矩阵X中第二行、第五行、第六行、第八行数据异常。
(2)费歇尔判别法
该法是以费歇尔准则为标准来评选判别函数的。所谓费歇尔准则,指的是较优的判别函数应该能根据待判对象的n个指标最大限度的将它所属的类与其它类区分开来。一般采用线性函数作为判别函数。基本方法是:首先假定一个线性的判别函数,然后根据已知信息对判别函数进行训练,得到函数关系式中的系数,从而最终确定判别函数。该法有时会使误判次数增加,但由于使用的是线性函数,所以使用起来也比较方便。
(3)贝叶斯判别法
贝叶斯判别法是一种概率方法,它的好处是可以从分利用先验信息,可以考虑专家的意见。应用此方法,需要事先假定样本指标值的分布(例如,多元正态分布等)。
在Matlab软件包中,将已经分类的m个数据(长度为n)作为行向量,得到一个矩阵training,每行都属于一个分类类别,由它构成一个整数列向量g(共有m行),待分类的k个数据(长度为n)作为行向量,得到一个矩阵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是样本数据矩阵,training是已有的分类数据矩阵,group是分类列向量,type有3种选择:
type = line
您可能关注的文档
最近下载
- 6-CFD基础及软件应用汇总课件.pptx VIP
- 移动通信职业规划.docx VIP
- 2024年杭州钱塘新区城市发展集团有限公司招聘真题 .pdf VIP
- 输日热加工禽肉及其产品动物卫生要求.pdf VIP
- 2025杭州钱塘新区城市发展集团有限公司社会招聘22人笔试备考题库及答案解析.docx VIP
- 药物分析与常用组学技术在药学服务中的应用题库答案-2025年华医网继续教育.docx VIP
- 海丰2022年事业编招聘考试《公共基础知识》真题及答案解析三.docx VIP
- 7、美国联邦法典第九卷联邦肉类检验法.doc VIP
- 2024年入团积极分子考试题库.docx VIP
- 《荷塘月色》课件25张 .ppt VIP
文档评论(0)