《多元统计分析》实验教学上机指导书.doc

上传人:豆**** 文档编号:17430345 上传时间:2022-05-24 格式:DOC 页数:54 大小:451KB
返回 下载 相关 举报
《多元统计分析》实验教学上机指导书.doc_第1页
第1页 / 共54页
《多元统计分析》实验教学上机指导书.doc_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《《多元统计分析》实验教学上机指导书.doc》由会员分享,可在线阅读,更多相关《《多元统计分析》实验教学上机指导书.doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流多元统计分析实验教学上机指导书.精品文档.多元统计分析实验教学上机指导书数学与统计学学院信息与计算科学教研室第一章 聚类分析一、实验目的与要求1.通过上机操作使学生掌握系统聚类分析方法在SAS和SPSS软件中的实现,熟悉系统聚类的用途和操作方法,了解各种距离,能按要求将样本进行分类;2.要求学生重点掌握该方法的用途,能正确解释软件处理的结果,尤其是冰柱图和树形图结果的解释;3.要求学生阅读一定数量的文献资料,掌握系统聚类分析方法在写作中的应用。二、实验内容与步骤SAS部分(一)SAS程序语言简介SAS系统强大的数据管理能力、计算能力、分析能力

2、依赖于作为其基础的SAS语言。SAS语言是一个专用的数据管理与分析语言,它的数据管理功能类似于数据库语言(如FoxPro),但又添加了一般高级程序设计语言的许多成分(如分支、循环、数组),以及专用于数据管理、统计计算的函数。SAS系统的数据管理、报表、图形、统计分析等功能都可以用SAS语言程序来调用,只要指定要完成的任务就可以由SAS系统按照预先设计好的程序去进行,所以SAS 语言和FoxPro等一样是一种第四代计算机语言。SAS语言有它自己的对变量、常量、表达式的一系列规定,有一系列标准函数,有它自己的语句、语法,可以按一定规则构成SAS程序。SAS语言程序由数据步(DATA步)和过程步(P

3、ROC步)组成。数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、报告。SAS语言的基本单位是语句,每个SAS语句一般由一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号结束。SAS关键字是用于SAS语句开头的特殊单词。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。SAS 名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键字和SAS 名字都不区分大小写。语句关键字用大写或小写方式都可以,但不可简化,必须原样照写。SAS程序由语句构成。一个SAS语句可以占若干行,可

4、以从任意一列开始,但必须在语句结束处加分号,因为SAS系统是根据分号判断哪些文字属于一个语句的,因此在一行上可以写几个SAS语句,只要每个语句都用分号结束(最常见的SAS编程错误就是丢失分号)。因为分号作为语句结束标志,所以SAS语句不需要单独占一行,一个语句可以写到多行(不需任何续行标志),也可以在一行连续写几个语句。SAS语言中只要允许用一个空格的地方就可以加入任意多个空白(空格、制表符、回车),允许用空格的地方是名字周围、运算符周围。比如,程序proc print data=c9501; by avg;run;和proc print data=c9501;by avg;run;是等效的。

5、另外,虽然SAS关键字和SAS名字不区分大小写,但字符型数据值要区分大小写,比如Beijing 和BEIJING被认为是不同的数据值。在SAS程序中可以加入注释,注释使用C语言语法,用/*和*/在两端界定注释,这种注释可以出现在任何允许加入空格的位置,可以占多行。我们一般只把注释单独占一行或若干行,不把注释与程序代码放在同一行。注释的另一个作用是把某些代码暂时屏蔽使其不能运行。下面是一个注释的例子:/* 生成95级1班考试成绩的数据集 */data c9501;SAS程序包括数据步和过程步两种结构,每一个步是一段相对完整的可以单独运行的程序。每个步以RUN语句结束。当一个步后面跟着另一个步时,

6、前面一个步的RUN语句可以省略。一个DATA步后面可以跟几个PROC步,也可以若干个DATA步后面跟几个PROC步;或以PROC步打头,后面跟若干个DATA步,再跟PROC步,程序中的每个步都是相应独立的,彼此不能交叉,不能嵌套。数据步用来生成、整理数据和自编程计算,过程步调用SAS已编好的处理过程对数据进行处理。我们自己用SAS编程序实现各多元统计分析方法主要用到过程步。在本课的学习过程中,主要采用调用已有数据集的方式,因此程序的重点在PROC步上,要分析的数据集只要在选择项DATA=中指明即可。最简单的PROC步只有一个PROC语句,即:PROC 过程名;该语句调用指定的过程分析在该语句之

7、前最近建立的数据集。在调用时的其他要求全部采用SAS系统设置的缺省值。PROC语句的一般格式为:PROC 过程名 选择项;(二)用CLUSTER过程和TREE过程进行谱系聚类聚类分析又称群分析、点群分析,是定量研究分类问题的一种多元统计方法。聚类分析的基本思想是认为所研究的样品或指标之间存在着程度不同的相似性,于是根据一批样品的多个观测指标,找出能够度量样品或变量之间相似程度的统计量,并以此为依据,采用某种聚类法,将所有的样品或变量分别聚合到不同的类中,使同一类中的个体有较大的相似性,不同类中的个体差异较大。所以,聚类分析依赖于对观测间的接近程度(距离)或相似程度的理解,定义不同的距离量度和相

8、似性量度就可以产生不同的聚类结果。SAS/STAT模块中提供了谱系聚类(CLUSTER)、快速聚类(FASTCLUS)、变量聚类(VARCLUS)等聚类过程。我们重点要求掌握谱系聚类法。谱系聚类是一种逐次合并类的方法,最后得到一个聚类的二叉树聚类图。其基本计算过程是,对于n个观测,先计算其两两的距离得到一个距离矩阵,然后把离得最近的两个观测合并为一类,于是我们现在只剩了n-1 个类(每个单独的未合并的观测作为一个类)。计算这 n-1个类两两之间的距离,找到离得最近的两个类将其合并,就只剩下了 n-2个类直到剩下两个类,把它们合并为一个类为止。当然,真的合并成一个类就失去了聚类的意义,所以上面的

9、聚类过程应该在某个类水平数(即未合并的类数)停下来,最终的类数就是这些未合并的类的个数。决定聚类个数是一个很复杂的问题。1.谱系聚类类数的确定谱系聚类最终得到一个聚类树形图,可以把所有观测聚为一类。到底应该把观测分为几类合适是一个比较难抉择的问题,因为分类问题本身就是没有一定标准的,关于这一点实用多元统计分析(王学仁、王松桂,上海科技出版社)第十章给出了一个很好的例子,即扑克牌的分类。我们可以把扑克牌按花色分类,按大小点分类,按桥牌的高花色低花色分类,等等。决定类数的一些方法来自于统计的方差分析的思想,我们在这里作一些介绍。(1)统计量其中 为分类数为 个类时的总类内离差平方和, 为所有变量的

10、总离差平方和。 越大,说明分为 个类时每个类内的离差平方和都比较小,也就是分为 个类是合适的。但是,显然分类越多,每个类越小, 越大,所以我们只能取 使得 足够大,但 本身比较小,而且 不再大幅度增加。(2)半偏相关在把类 和类 合并为下一水平的类 时,定义半偏相关半偏其中 为合并类引起的类内离差平方和的增量,半偏相关越大,说明这两个类越不应该合并,所以如果由 类合并为 类时如果半偏相关很大就应该取 类。(3)伪F统计量伪F统计量评价分为 个类的效果。如果分为 个类合理,则类内离差平方和(分母)应该较小,类间平方和(分子)相对较大。所以应该取伪F统计量较大而类数较小的聚类水平。(4)伪 统计量

11、用此统计量评价合并类 和类 的效果,该值大说明不应合并这两个类,所以应该取合并前的水平。2.CLUSTER过程用法 由于在SAS系统中聚类分析过程没有现成的窗口操作,所以实现聚类分析必须编写SAS程序。SAS/STAT模块中的Cluster过程可实现系统聚类分析,可调用Tree过程生成聚类谱系图。CLUSTER过程的一般格式为: PROC CLUSTER DATA=输入数据集 METHOD=聚类方法 选项;VAR 聚类用变量;COPY 复制变量;RUN;其中的VAR语句指定用来聚类的变量。COPY语句把指定的变量复制到OUTTREE的数据集中。 PROC CLUSTER语句的主要选项有: (1

12、)METHOD=选项,这是必须指定的,此选项决定我们要用的聚类方法,主要由类间距离定义决定。方法有AVERAGE、CENTROID、COMPLETE、SINGLE、DENSITY、WARD、EML、FLEXIBLE、MCQUITTY 、MEDIAN、TWOSTAGE等,其中DENSITY、TWOSTAGE等方法还要额外指定密度估计方法(K=、R= 或HYBRID)。 (2)DATA输入数据集,可以是原始观测数据集,也可以是距离矩阵数据集。 (3)OUTTREE=输出数据集,把绘制谱系聚类树的信息输出到一个数据集,可以用TREE过程调用此数据集绘图树形图并实际分类。 (4)STANDARD选项,

13、把变量标准化为均值为0,标准差为1。 (5)PSEUDO选项和CCC选项。PSEUDO选项要求计算伪F和伪 统计量,CCC选项要求计算 、半偏 和CCC统计量。其中CCC统计量也是一种考察聚类效果的统计量,CCC较大的聚类水平是较好的。 3.TREE过程用法TREE过程可以把CLUSTER过程产生的OUTTREE数据集作为输入数据集,画出谱系聚类的树形图,并按照用户指定的聚类水平(类数)产生分类结果数据集。其一般格式如下: PROC TREE DATA数据集 OUT=输出数据集 NCLUSTER=类数 选项; COPY 复制变量; RUN;其中COPY语句把输入数据集中的变量复制到输出数据集(

14、实际上这些变量也必须在CLUSTER 过程中用COPY语句复制到OUTTREE数据集)。PROC TREE语句的重要选项有:(1)DATA数据集,指定从CLUSTER过程生成的OUTTREE数据集作为输入数据集。 (2)OUT数据集,指定包含最后分类结果(每一个观测属于哪一类,用一个CLUSTER变量区分)的输出数据集。 (3)NCLUSTERS选项,由用户指定最后把样本观测分为多少个类(即聚类水平)。 (4)HORIZONTAL,画树形图时沿水平方向画,即绘制水平方向的树形图,系统默认绘制垂直方向的树形图。4.例子我们以多元统计分析中一个经典的数据作为例子,这是Fisher分析过的鸢尾花数据

15、,有三种不同鸢尾花(Setosa、Versicolor、Virginica),种类信息存入了变量SPECIES,并对每一种测量了50棵植株的花瓣长(PETALLEN)、花瓣宽(PETALWID)、花萼长(SEPALLEN)、花萼宽(SEPALWID)。这个数据已知分类,并不属于聚类分析的研究范围。这里我们为了示例,假装不知道样本的分类情况(既不知道类数也不知道每一个观测属于的类别),用SAS去进行聚类分析,如果得到的类数和分类结果符合真实的植物分类,我们就可以知道聚类分析产生了好的结果。这里我们假定数据已输入SASUSER.IRIS中(见系统帮助菜单的“Sample Programs | SA

16、S/STAT | Documentation Example 3 from Proc Cluster”)。为了进行谱系聚类并产生帮助确定类数的统计量,编写如下程序:proc cluster data=sasuser.iris method=ward outtree=otree pseudo ccc;var petallen petalwid sepallen sepalwid;copy species;run;可以显示如下的聚类过程(节略): T Pseudo Pseudo i NCL -Clusters Joined- FREQ SPRSQ RSQ ERSQ CCC F t*2 e 149

17、OB16 OB76 2 0.000000 1.0000 . . . . 148 OB2 OB58 2 0.000007 1.0000 . . 1854.1 . T147 OB96 OB107 2 0.000007 1.0000 . . 1400.1 . T 146 OB89 OB113 2 0.000007 1.0000 . . 1253.1 . T 145 OB65 OB126 2 0.000007 1.0000 . . 1182.9 . T 25 CL50 OB57 7 0.000634 0.9824 0.973335 6.446 291.0 5.6 24 CL78 CL62 7 0.00

18、0742 0.9817 0.972254 6.430 293.5 9.8 23 CL68 CL38 9 0.000805 0.9809 0.971101 6.404 296.0 6.9 22 CL30 OB137 6 0.000896 0.9800 0.969868 6.352 298.3 5.1 21 CL70 CL33 4 0.000976 0.9790 0.968545 6.290 300.7 3.2 20 CL36 OB25 10 0.001087 0.9779 0.967119 6.206 302.9 9.8 19 CL40 CL22 19 0.001141 0.9768 0.965

19、579 6.146 306.1 7.7 18 CL25 CL39 10 0.001249 0.9755 0.963906 6.082 309.5 6.2 17 CL29 CL45 16 0.001351 0.9742 0.962081 6.026 313.5 8.2 16 CL34 CL32 15 0.001462 0.9727 0.960079 5.984 318.4 9.0 15 CL24 CL28 15 0.001641 0.9711 0.957871 5.929 323.7 9.8 14 CL21 CL53 7 0.001873 0.9692 0.955418 5.850 329.2

20、5.1 13 CL18 CL48 15 0.002271 0.9669 0.952670 5.690 333.8 8.9 12 CL16 CL23 24 0.002274 0.9647 0.949541 4.632 342.4 9.6 11 CL14 CL43 12 0.002500 0.9622 0.945886 4.675 353.3 5.8 10 CL26 CL20 22 0.002694 0.9595 0.941547 4.811 368.1 12.9 9 CL27 CL17 31 0.003060 0.9564 0.936296 5.018 386.6 17.8 8 CL35 CL1

21、5 23 0.003095 0.9533 0.929791 5.443 414.1 13.8 7 CL10 CL47 26 0.005811 0.9475 0.921496 5.426 430.1 19.1 6 CL8 CL13 38 0.006042 0.9414 0.910514 5.806 463.1 16.3 5 CL9 CL19 50 0.010532 0.9309 0.895232 5.817 488.5 43.2 4 CL12 CL11 36 0.017245 0.9137 0.872331 3.987 515.1 41.0 3 CL6 CL7 64 0.030051 0.883

22、6 0.826664 4.329 558.1 57.2 2 CL4 CL3 100 0.111026 0.7726 0.696871 3.833 502.8 115.6 1 CL5 CL2 150 0.772595 0.0000 0.000000 0.000 . 502.8伪F图形 CCC图形 伪图形 半偏图形 输出结果列出了把150个观测每次合并两类,共合并149次的过程。NCL列指定了聚类水平G (即这一步存在的单独的类数)。“-Clusters Joined-”为两列,指明这一步合并了哪两个类。其中OBxxx表示原始观测,而CLxxx表示在某一个聚类水平上产生的类。比如,NCL为149时

23、合并的是OB16和OB76,即16 号观测和76号观测合并;NCL为1(最后一次合并)合并的是CL5和CL2,即类水平为5时得到的类和类水平为2时得到的类合并,CL5又是由CL9和CL19合并得到的,CL2是由CL4和CL3合并得到的,等等。FREQ表示这次合并得到的类中有多少个观测。SPRSQ是半偏 ,RSQ是 ,ERSQ是在均匀零假设下的 的近似期望值,CCC为CCC统计量,Pseudo F 为伪F统计量,Pseudo t*2为伪 统计量,Norm RMS Dist是正规化的两类元素间距离的均方根,Tie指示距离最小的候选类对是否有多对。因为我们假装不知道数据的实际分类情况,所以我们必须找

24、到一个合理的分类个数。为此,考察CCC、伪F、伪 和半偏 统计量。我们打开ASSIST模块,调入上面产生的OTREE数据集,绘制各统计量的图形。因为类水平太大时的信息没有多少用处,所以我们用WHERE语句对OTREE数据集取其类水平不超过30的观测。各统计量的图形显示:CCC统计量建议取5类或3类(局部最大值),伪F建议3类(局部最大值),伪 建议3类(局部最大值处是不应合并的,即局部最大值处的类数加1),半偏 建议3类。由这些指标看,比较一致的是3类,其次是5类。为了看为什么不能明显地分为三类,我们对四个变量求主分量,画出前两个主分量的散点图。可以看出Setosa(红色)与其它两类分得很开,

25、而Versicolor(绿色)与Virginica(蓝色)则不易分开。因为我们知道要分成3类,所以我们用如下的TREE过程绘制树形图并产生分类结果数据集:proc tree data=otree horizontal nclusters=3 out=oclust;copy species;run;树形图因为观测过多所以显得杂乱。从图中也可以看出,分为两类可以分得很开,而分成三类时距离则不够远。这个TREE过程用NCLUSTERS=3指定了分成3个类,结果数据集OCLUST中有一个CLUSTER变量代表生成的分类。我们把这个数据集调入ASSIST模块中用不同颜色代表SPECIES(实际种类),用

26、不同符号代表不同聚类过程分类,作前两个主分量散点图。可以看出, Virsicolor和Virginica两类互相都有分错为对方的。为了统计分类结果,可以用ASSIST模块FREQ过程作表,得到如下结果: SPECIES(Species) CLUSTERFrequency | 1| 2| 3| TotalSetosa | 0 | 0 | 50 | 50Versicolor | 49 | 1 | 0 | 50Virginica | 15 | 35 | 0 | 50Total 64 36 50 150可见Virginica被分错的较多。 同学们可以自己试用其它的类间距离来聚类,可以得到不同的结果。S

27、PSS部分系统聚类分析在SPSS中的实现较为简单,因为有现成的窗口菜单操作,在SPSS主菜单中选择AnalyzeClassifyHierarchical Cluster,可实现系统聚类分析。SPSS软件处理结果的解释可参见SAS部分的相关内容,所不同的是在SPSS的结果中,聚类进度表中以0表示参与合并的是观测,以数字表示参与合并的是类,作为类出现时用类中较小的观测号来表示。聚类分析在写作中的应用 从“中国期刊网”上查阅相关文章,如“中国城市竞争力聚类分析”等,掌握聚类分析在写作中的应用。第二章 判别分析一、实验目的与要求1.通过上机操作使学生掌握判别分析方法在SAS和SPSS软件中的实现,了解

28、判别方法的分类、适用条件和结果验证方法;2.要求学生熟悉判别分析的用途和操作,重点掌握对软件处理结果的解释(区域图、未标准化典型判别函数、Bayes判别函数)和如何使用分析结果对新样品进行分类; 3.要求学生阅读一定数量的文献资料,掌握判别分析方法在写作中的应用。二、实验内容与步骤判别分析和聚类分析有相似的作用,都是起到分类的作用。但是,判别分析是已知分类然后总结出判别准则,是一种有指导的学习;而聚类分析则是有了一批样本,不知道它们的分类,甚至连分成几类也不知道,希望用某种方法把观测进行合理的分类,使得同一类的观测比较接近,不同类的观测相差较多,这是无指导的学习。判别分析是用于判断个体所属类别

29、的一种统计方法。根据已知观测对象的分类和若干表明观测对象特征的变量值,建立判别函数和判别准则,并使其错判率最小,对于一个未知分类的样本,将所测指标代入判别方程,从而判断它来自哪个总体。当然,这种准则在某种意义上是最优的,如错判概率最小或错判损失最小等。其前提是总体均值有显著差异,否则错分率大,判别分析无意义。例如,我们有了患胃炎的病人和健康人的一些化验指标,就可以从这些化验指标发现两类人的区别,把这种区别表示为判别公式,然后对怀疑患胃炎的人就可以根据其化验指标用判别公式诊断。SAS部分在SAS系统中没有现成的菜单操作,须通过编程来实现判别分析。SAS/STAT模块中实现判别分析的过程有:Dis

30、crim ,实现最基本的判别分析;Candisc ,将判别分析与典型相关分析相结合;Stepdisc,逐步判别分析,是一个变量的筛选过程。(一)DISCRIM过程的语句说明SAS/STAT的DISCRIM过程可以使用参数判别分析方法和非参数判别分析方法进行判别分析。参数方法假定每个类的观测来自(多元)正态分布总体,各类的分布的均值(中心)可以不同。非参数方法不要求知道各类所来自总体的分布,它对每一类使用非参数方法估计该类的分布密度,然后据此建立判别准则。参数方法的判别准则为:先决定是使用合并协方差阵还是单个类的协方差阵,计算 到各组的广义距离,把 判入最近的组;或者计算 属于各组的后验概率,把

31、 判入后验概率最大的组。SAS/STAT的DISCRIM过程一般格式如下: PROC DISCRIM DATA=输入数据集 选项; CLASS 分类变量; VAR 判别用自变量集合; RUN; 其中,PROC DISCRIM语句的选项中“输入数据集”为训练数据的数据集,包括一个分类变量(在CLASS语句中说明)和用来建立判别公式的自变量集合(在VAR语句中说明)。可以用 “TESTDATA=数据集”选项指定一个检验数据集,检验数据集必须包含与训练数据集相同的自变量集合,用训练数据集产生判别准则后将对检验数据集中的每一个观测给出分类值,如果这个检验数据集中有表示真实分类的变量可以在过程中用“TE

32、STCLASS 分类变量”语句指定,这样可以检验判别的效果如何。用“OUTSTAT=数据集”指定输出判别函数的数据集,后面可以再次用DISCRIM过程把输出的判别函数作为输入数据集(DATA=)读入并用它来判别检验数据集(TESTDATA=)。用“OUT=数据集”指定存放训练样本及后验概率、交叉确认分类的数据集。用“OUTD=数据集”指定训练样本及组密度估计数据集。用“TESTOUT=数据集”指定检验数据的后验概率及分类结果。用“TESTOUTD=数据集”输出检验数据及组密度估计。PROC DISCRIM语句还有一些指定判别分析方法的选项。用METHOD=NORMAL或NPAR选择参数方法或非

33、参数方法。用POOL=NO或TEST或YES表示不用合并协方差阵、通过检验决定是否使用合并协方差阵、用合并协方差阵。如果使用非参数方法,需要指定“R=核估计半径”选项来规定核估计方法或者指定“K=最近邻个数”来规定最近邻估计方法。PROC DISCRIM语句有一些规定显示结果的选项。用LISTERR显示训练样本错判的观测。用CROSSLISTERR显示用刀切法对训练样本判别错判的观测。用LIST对每一观测显示结果。用NOCLASSIFY取消对训练样本的分类检验。用CROSSLIST显示对训练样本的刀切法的判别结果。用CROSSVALIDATE要求进行交叉核实。当有用“TESTDATA=”指定的

34、检验数据集时用TESTLIST 选项显示检验数据集的检验结果,当有TESTCLASS语句时用TESTLISTERR可以列出检验样本判错的观测,用POSTERR选项可以打印基于分类结果的分类准则的后验概率错误率估计。用NOPRINT 选项可以取消结果的显示。在DISCRIM过程中还可以使用PRIORS语句指定先验概率 的取法。“PRIORS EQUAL”指定先验概率相等。“PRIORS PROPORTIONAL”指定先验概率与各类个数成正比。“PRIORS 概率值表”可以直接指定各组的先验概率值。(二)例子用卫星遥感可以分辨作物的种类。CROPS是训练数据集,其中包含了作物的实际种类(CROP)

35、和四种遥感指标变量(X1-X4)。data crops; title 五种作物遥感数据的判别分析; input crop $ x1-x4; cards;CORN 16 27 31 33CORN 15 23 30 30CORN 16 27 27 26CORN 18 20 25 23CORN 15 15 31 32CORN 15 32 32 15CORN 12 15 16 73SOYBEANS 20 23 23 25SOYBEANS 24 24 25 32SOYBEANS 21 25 23 24SOYBEANS 27 45 24 12SOYBEANS 12 13 15 42SOYBEANS 22

36、32 31 43COTTON 31 32 33 34COTTON 29 24 26 28COTTON 34 32 28 45COTTON 26 25 23 24COTTON 53 48 75 26COTTON 34 35 25 78SUGARBEETS 22 23 25 42SUGARBEETS 25 25 24 26SUGARBEETS 34 25 16 52SUGARBEETS 54 23 21 54SUGARBEETS 25 43 32 15SUGARBEETS 26 54 2 54CLOVER 12 45 32 54CLOVER 24 58 25 34CLOVER 87 54 61 2

37、1CLOVER 51 31 31 16CLOVER 96 48 54 62CLOVER 31 31 11 11CLOVER 56 13 13 71CLOVER 32 13 27 32CLOVER 36 26 54 32CLOVER 53 08 06 54CLOVER 32 32 62 16run;用下列DISCRIM过程可以产生线性判别函数(METHOD=NORMAL规定使用参数方法,POOL=YES 选项规定使用合并协方差阵,这样产生的判别函数是线性函数,为系统的默认值)。用OUTSTAT=选项指定了判别函数的输出数据集为CROPSTAT,这个数据集可以用来判别检验数据集。选项LIST要求列

38、出每个观测的结果,CROSSVALIDATE要求交叉核实。“PRIORS PROPORTIONAL”即按各种类出现的比例计算各类的先验概率。proc discrim data=crops outstat=cropstat method=normal pool=yes list crossvalidate; class crop; priors proportional; var x1-x4; run;结果如下(节略):Discriminant Analysis 36 Observations 35 DF Total 4 Variables 31 DF Within Classes 5 Clas

39、ses 4 DF Between Classes 上面是一些数据信息基本情况。Class Level Information Prior CROP Frequency Weight Proportion Probability CLOVER 11 11.0000 0.305556 0.305556 CORN 7 7.0000 0.194444 0.194444 COTTON 6 6.0000 0.166667 0.166667 SOYBEANS 6 6.0000 0.166667 0.166667 SUGARBEETS 6 6.0000 0.166667 0.166667 以上为各组的基本情况

40、,并列出了先验概率值。因为指定了“PRIORS PROPORTIONAL”所以各组的先验概率按实际数据中各组比例计算。Discriminant AnalysisPairwise Generalized Squared Distances Between Groups 2 _ _ -1 _ _ D (i|j) = (X i - X j) COV (X i - X j ) - 2 ln PRIOR j 上面为各组均值间广义距离平方的公式,即 _ -1 _ -1 _ Constant = -.5 X j COV X j + ln PRIOR j Coefficient Vector = COV X

41、j 上面即线性判别函数的公式,给出了到第j类的线性判别函数的常数项和各自变量的系数的公式。下面具体给出了各类的线性判别函数的各常数项及系数值。CROP CLOVER CORN COTTON SOYBEANS SUGARBEET CONSTANT -10.98457 -7.72070 -11.46537 -7.28260 -9.80179 X1 0.08907 -0.04180 0.02462 0.0000369 0.04245 X2 0.17379 0.11970 0.17596 0.15896 0.20988 X3 0.11899 0.16511 0.15880 0.10622 0.06540 X4 0.15637 0.16768 0.18362 0.14133 0.16408比如, CLOVER(苜蓿)类的线性判别函数就可以用 -10.98457+0.08907*X1+0.17379*X2+0.11899*X3+0.15637*X4 来计算。下面为判别分析对训练数据集(Calibration Data)用线性判别函数的判别结果,先给出了广义平方距离函数的公式Disc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁