1 / 15
文档名称:

R语言中地多元统计之判别分析报告.doc

格式:doc   大小:139KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

R语言中地多元统计之判别分析报告.doc

上传人:511709291 2019/11/11 文件大小:139 KB

下载得到文件列表

R语言中地多元统计之判别分析报告.doc

文档介绍

文档介绍:前言判别分析(discriminantanalysis)是多元统计分析中较为成熟的一种分类方法,它的核心思想是“分类与判断”,即根据已知类别的样本所提供的信息,总结出分类的规律性,并建立好判别公式和判别准则,在此基础上,新的样本点将按照此准则判断其所属类型。例如,根据一年甚至更长时间的每天的湿度差及压差,我们可以建立一个用于判别是否会下雨的模型,当我们获取到某一天(建立模型以外的数据)的湿度差及压差后,使用已建立好的模型,就可以得出这一天是否会下雨的判断。根据判别的组数来区分,判别分析可以分为两组判别和多组判别。接下来,我们将学****三种常见的判别分析方法,分别是:距离判别Bayes判别Fisher判别一、距离判别基本理论假设存在两个总体和,另有为一个维的样本值,计算得到该样本到两个总体的距离和,如果大于,则认为样本属于总体,反之样本则属于总体;若等于,则该样本待判。这就是距离判别法的基本思想。在距离判别法中,最核心的问题在于距离的计算,一般情况下我们最常用的是欧式距离,但由于该方法在计算多个总体之间的距离时并不考虑方差的影响,而马氏距离不受指标量纲及指标间相关性的影响,弥补了欧式距离在这方面的缺点,其计算公式如下:,为总体之间的协方差矩阵二、距离判别的R实现(训练样本)首先我们导入数据#读取SAS数据>library(sas7bdat)>data1<-('')#截取所需列数据,用于计算马氏距离>testdata<-data1[2:5]>head(testdata,3)X1X2X3X41----#计算列均值>colM<-colMeans(testdata)>-#计算矩阵的协方差>cov_test<-cov(testdata)>--#样本的马氏距离计算>distance<-mahalanobis(testdata,colM,cov_test)>head(distance,5)[1],我们得到了距离判别中最关键的马氏距离值,在此基础上就可以进行进一步的判别分析了。不过我们介绍一个R的第三方包WMDB,该包的wmd()函数可以简化我们的距离判别过程,函数将输出样本的分类判别结果、错判的样本信息以及判别分析的准确度。>library(WMDB)>head(data1,3)AX1X2X3X411----#提取原始数据集的A列生成样品的已知类别>testdata_group<-data1$A#转换为因子变量,用于wmd()函数中>testdata_group<-(testdata_group)>wmd(testdata,testdata_group)123456789101112131415161718192021222324252627blong111111111111112211121111222282930313233343536373839404**********blong2222221222111112122[1]"numofwrongjudgement"[1]15162022232434383940414244[1]"samplesdividedto"[1]2221111111111[1]"samplesactuallybelongsto"[1]11**********Levels:12[1]"percentofrightjudgement"[1],根据已知分类的训练样品建立的判别规则,重新应用于训练样品后,出现了13个错判样品,%的准确度。三、距离判别的R实现(测试样本)接着,当我们获取到未分类的新样本数据时,使用wmd()函数,在训练样本的基础上进行这些数据的距离判别#导入数据,一共10个样本>data2<-