课程:SAS判别分析 部门:创新业务部-徐宝莲 时间:2015/1/16
内容概要:
1、 判别分析的简单介绍
2、 一般判别分析——PROC DISCRIM 3、 典型判别分析——PROC CANDISC 4、 逐步判别分析——PROC STEPDISC
1、判别分析的简单介绍
判别分析是一种应用性很强的统计方法。它通常是根据已有的数据资料,来建立一种判别方法,然后再来判断一个新的样品归属哪一类。
判别分析的SAS过程所处理的数据集要求具有一个分类变量和若干个数值型变量。SAS中进行判别分析的具体目标可以分为以下三条:
建立判别函数,以便用来判别某一新的观测值的所属类别;
寻找一组数值型变量的线性组合,使得其能够很好地反映各类别之间的差别; 筛选出某些能反映类别间差别的变量。
2、一般判别分析——PROC DISCRIM 2.1距离判别法
距离判别法是通过计算距离函数来进行判别,即样品与哪个总体之间的距离最近,则判断它属于哪个总体。如何衡量样品与总体间的这种抽象的距离?我们一般利用马氏距离来描述。
对于两总体的情形,设??1和??2是两个P维总体,样品X到??1的距离为??2(??,??1),样品X到??2的距离为??2(??,??2),则我们按照下面的准则对样本X进行判别归类:
1) 若??2(??,??1)?2(??,??2),则判定X属于??1; 2) 若??2(??,??1)>??2(??,??2),则判定X属于??2; 3) 若??2(??,??1)=??2(??,??2),则X有待于进一步判定。
2.2Bayes判别法
Bayes判别法是基于Bayes统计的思想,即假定事先对所研究的对象有一定的了解,并通过先验概率分布来进行描述,当抽取样本后,用样本来修正先验概率分布,并得到后验概率分布,然后根据后验概率分布进行各种统计推断。
Bayes判别法首先计算给定样品属于各个总体的条件概率,然后比较这些概率值的大小,将样品判归于条件概率最大的总体。
PROC DISCRIM DATA=数据集名<选项>; CLASS变量名列表; PRIORS概率值; BY 分组变量名; RUN;
语句说明:1)PROC DISCRIM 语句用来调用DISCRIM 过程。 DATA:此选项用于指定输入的“训练数据集”,即已知类别的若干样品所组成的数据集,一般的数据集和特殊类型的数据集均可以;
TESTDATA:指定用于进行判别分析的检验数据集。
METHOD:指定判别分析方法,可以设置为“method=normal”(参数法)或者“method=npar”(非参数法)。
POOL:说明按各个总体协方差相等与否的模型进行计算。当”POOL=YES”时,指定总体协方差矩阵相同,计算协方差矩阵估计值;当”POOL=NO”时,指定总体协方差矩阵不同,计算协方差矩阵估计值。
2)CLASS语句是DISCRIM过程中所必须的一条语句,用于说明分类变量,该分类变量的值用于决定每条观测属性的类别。
3)PRIORS语句是用来指定各类别的先验概率。有三种先验概率设定方式的语句格式。 格式一:priors equal,表示设定的各类别先验概率相等。
格式二:priors proportional,表示设定的各类别先验概率等于训练样本中各类别所占得比例。
格式三:priors “1”=0.2 “2”=0.6 “3”=0.2;或者 priors a=0.2 b=0.3 c=0.4 d=0.1.空格为区分符,前面的语句说明分类变量取1,2,3的类的先验概率是0.2,0.6,0.2;后面语句说明分类变量取a,b,c,d类的先验概率为0.2,0.3,0.4,0.1.此种方法适合自定义各个类别的先验概率。
当使用PRIORS语句时,DISCRIM过程计算样品属于某一类的后验概率,同时给出判别函数。当“POOL=YES”时,判别函数是线性函数;当”POOL=NO”时,判别函数是二次函数。
实例演练:
某市气象站测得了半个月以内的空气质量数据,并评定了相应的空气质量等级,见下表:
空气中悬浮颗粒物 0.208 0.196 0.289 0.299 0.277 二氧化硫 氮氧化物 空气质量等级 0.051 0.092 0.206 0.187 0.09 0.064 0.057 0.068 0.082 0.072 2 2 3 3 2 根据上表建立判别分析准则,并判定下表三天的空气质量等级:
空气中悬浮颗粒物 0.254 0.243 0.185
3典型判别分析——PROC CANDISC
二氧化硫 氮氧化物 0.184 0.054 0.102 0.071 0.032 0.057
3.1Fisher判别法
典型判别分析采用了与主成分分析和典型相关分析类似的降维技术,以找到能最概 括类别区分的变量的线性组合。降维时要求同一类中的区别尽可能小,而不同类之间的区别尽可能大。
Fisher判别是利用方差分析的思想,从各总体中抽取P维的训练样本来构造一个判别函数:
U(X)=??1(??)+??2(??)+?+????(??)=??′??
称为Fisher判别函数或典型判别函数。其中,系数a=(??1,??2,?,????)′的确定原则是使得同一总体中的离差最小,而不同总体间的离差最大。
PROC CANDISC DATA=数据集名<选项>; CLASS分类变量名; VAR变量名列表; BY分组变量名; RUN; 实例演练:
医院根据病人的多项病理指标来确定当前是否适合进行手术治疗。下表1给出了一组病理指标数据以及对是否适合手术的判断,其中0表示不符合手术条件,1表示符合手术条件,2表示有待于进一步住院观察,试进行典型判别分析,并对下表2中的数据做判别归类。
表1病人手术治疗前的病理指标数据 指标1 指标2 指标3 指标4 是否符合手术条件 18.24 8.04 8.36 12.16 3.76 6.17 7.03 5.74 5.53 指标2 9.5 7.72 2.36 3.48 6.92 指标3 指标4 2 1 0 2 0 2 14.58 16.25 14.48 12.43 10.23 26.61 14.67 12.32 12.92 12.97 指标1 表2待判定是否符合手术条件的数据 18.16 12.14 20.63 11.02 25.7 13.14 11.57 37.67 11.18 17.08 17.82 11.17 18.4
4、 逐步判别分析——PROC STEPDISC
逐步判别分析考察了P维指标(即p个变量)对总体的区分能力是否显著,对判别分类不起作用的变量则予以删除,优化了判别的效果。
逐步判别的基本思想:在建立判别函数时逐个引入变量,每一步选择都一个判别能力最显著的变量进入判别函数,同时对已有的变量也进行检验,将不显著的变量剔除。直到在可选的变量中,既没有变量被选入也没有变量被删除为止。这样在最后得到的判别函数
8.57 8.35 23.52 6.61 8.66 2.91 18.32
中,所有变量都是显著的。通过使用逐步判别法,提高了判别样品的能力,也增强了判别函数的稳定性。
PROC STEPDISC DATA=数据集名<选项>; CLASS分类变量名; VAR变量名列表; BY分组变量; RUN; 实例演练:
在某矿区采了15块岩石标本,其中7块含矿,8块不含矿,经过分析,每块岩石标本中各种相关元素的含量如表1所示,表中在类型一栏中0表示该岩石不含矿,1表示该岩石含矿。试根据利用逐步判别法建立判别函数,并对表2中的新采的岩石标本进行分类。
表1 已知类型的岩石标本 铜 铁 银 1.33 1.34 1.16 钙 6.18 8.72 6.19 铝 6.59 5.61 7.07 4.93 8.8 9.95 3.53 6.07 4.77 5.47 6.88 6.64 6.87 8.42 7.42 铝 8.91 9.95 6.17 铋 0.88 1.02 1 0.73 0.75 1.11 0.32 0.98 1.15 1.23 0.84 1.83 1.11 1.65 1.29 铋 0.81 1.32 1.16 类型 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 2.72 18.55 2.67 24.71 3.7 17.71 2.97 23.13 3.45 16.49 2.88 18.19 2.75 20.86 2.24 2.17 2.09 2.11 8.81 9.93 9.01 8.8 0.66 10.42 1.21 11.21 1.29 11.56 1.71 12.76 1.83 12.28 1.92 9.13 1.77 10.46 1.58 12.74 1.5 1.9 1.91 银 1.01 1.99 6.97 8.94 6.61 钙 6.46 7.78 1.46 13.09 2.07 14.82 2.87 10.55 2.31 8.1 1.86 12.38 铜 铁 表2未知类型的岩石标本 3.74 16.29 3.16 14.25 2.31
8.52 1.27 11.51