距离广义平方距离与Bayes判别.docx
《距离广义平方距离与Bayes判别.docx》由会员分享,可在线阅读,更多相关《距离广义平方距离与Bayes判别.docx(13页珍藏版)》请在冰豆网上搜索。
距离广义平方距离与Bayes判别
判别分析
——距离判别、Bayes判别
一、距离判别
1、距离判别所用DISCRIM过程(一般判别过程)简介
常用格式如下:
PROCDISCRIM;
CLASSvariable;
VARvariable;
RUN;
常用语句说明:
1.PROCDISCRIM语句
语句一般格式:
PROCDISCRIM;
表示调用DISCRIM过程,开始执行判别分析。
选项一般有如下几类:
数据集选项
(1)DATA=SAS-data-set:
指定分析的数据集,缺省为最新创建数据集;
(2)TESTDATA=SAS-data-set:
指定待分类的输入观测数据集。
(3)OUT=SAS-data-set:
生成输出数据集,包括来自输入数据集的所有数据,后验概率以及每个观测被重复替换后所分入的类。
判别方法选项
(1)MEIHOD=NORMAL|NPAR:
确定导出分类准则的方法。
当指定方法为NORMAL时,导出的判别函数基于组内总体是正态分布的,而当指定的方法为NPAR时,导出的判别函数基于非参数方法,缺省时系统设定为正态。
(2)POOL=NO|TEST|YES:
确定计算平方距离是以合计协方差阵还是组内协方差阵为基础。
缺省时系统规定采用合并协方差阵导出线性判别函数,此时系统暗含假定各组协方差阵相等;
POOL=NO采用组内协方差阵导出线性判别函数,暗含假定各组协方差阵不相等;
POOL=TEST,对组内协方差阵进行齐性检验,根据检验结果导出判别函数。
其它常用判别方法选项
(1)LIST:
列出每个观测重复替换分类结果。
(2)WCOV:
输出组内协力差阵的估计。
(3)PCOV:
合并类内协方差阵估计。
(4)DISTANCE:
输出类均值之间的平方距离
(5)SIMPLE:
输出简单描述统计量。
2.CLASS语句
一般格式为:
CLASSvariable;
该语句规定进行判别分析的分类变量,可以是字符型的,也可以是数值型的。
3.VAR语句
一般格式为:
VARvariable;用来指明用来建立判别函数的变量。
2、距离判别应用举例(课本181页)
例5.1.1(盐泉含钾性判别)某地区经勘探证明A盆地是一个钾盐矿区,B盆地是一个钠盐矿区,其他盐盆地是否含钾盐有待作出判断.今从A,B两盆地各抽取5个盐泉样品:
从其他盆地抽得8个盐泉样品,18个盐泉的特征数值见表5.1.试对后8个待判盐泉进行含钾性判别.
下面用SAS/STAT软件中的DISCRIM过程进行判别归类:
以下SAS程序首先生成SAS数据集D511,然后调用DISCRIM过程对含钾和不含钾的A,B两类盆地的10个样品特征测量值用距离判别的方法,建立线性判别函数.并对已知类别的样品和待判样品进行判别归类。
输出5.1.1至输出5.1.4是SAS程序输出的部分结果.
SAS程序如下:
(假定两组总体协方差阵相等)
datad511;
inputx1-x4group$;
cards;
13.852.797.8049.60A
22.314.6712.3147.80A
28.824.6316.1862.15A
15.293.547.5043.20A
28.794.9016.1258.10A
2.181.061.2220.60B
3.850.804.0647.10B
11.400.003.500.00B
3.662.422.1415.10B
12.100.005.680.00B
8.853.385.1726.10.
28.602.401.20127.0.
20.706.707.6030.20.
7.902.404.3033.20.
3.193.201.439.90.
12.405.104.4324.60.
16.803.402.3131.30.
15.002.705.0264.00.
;
procdiscrimdata=d511wcovpcovdistancelist;
classgroup;
varx1-x4;run;
程序解释说明:
(1)DATA步创建一个用于建立判别函数和归类的名为d511的SAS数据集。
其中x1--x4为盐泉的四个特征数值,group为分类变量,为字符型。
数据行的后八行为待判样品,不参与判别函数的创建,group为缺省值代表要求判别归类。
(2)procdiscrim表示调用discrim过程,选项data=d511指定分析的输入数据集,缺省时采用最新创建的SAS数据集;
(3)选项wcovpcov分别要求输出组内协方差阵(即
和
)和合并样本协方差阵(即
)(见输出5.1-1)
(4)选项distance要求输出各组间的距离(见输出输出5.1-2);
(5)选项1ist要求输出按距离准则的判别结果(见输出输出5.1-4)。
(6)class语句规定进行判别分析的分类变量,即group;
(7)var语句指明用来建立判别函数的变量。
主要输出结果:
输出5.1-1组内协方差阵(即
和
)和合并样本协方差阵(即
)
输出5.1-2组间距离及两组总体均值差异的显著性检验
A,B两组间距离为37.02876,
检验
的F统计量值为14.46436,对应P值=0.0059<0.05,故A,B两组均值有显著差异,即A,B两个盆地的盐泉特征有显著差异,故判别归类问题有意义。
输出5.1-3线性判别函数
得到线性判别函数如下:
A盆地(含钾盐泉)
B盆地(不含钾盐泉)
输出5.1-4由选项list要求列出的判别结果
回判结果全部正确,8个待判盐泉1,4,5归为B,为不含钾盐泉,2,3,6,7,8归位A,为含钾盐泉。
或者将待判别的数据单独形成一个数据集,SAS程序如下:
datads511;
inputx1-x4group$;
cards;
13.852.797.8049.60A
22.314.6712.3147.80A
28.824.6316.1862.15A
15.293.547.5043.20A
28.794.9016.1258.10A
2.181.061.2220.60B
3.850.804.0647.10B
11.400.003.500.00B
3.662.422.1415.10B
12.100.005.680.00B
;
datad511test;
inputx1-x4group$;
cards;
8.853.385.1726.10.
28.602.401.20127.0.
20.706.707.6030.20.
7.902.404.3033.20.
3.193.201.439.90.
12.405.104.4324.60.
16.803.402.3131.30.
15.002.705.0264.00.
;
procdiscrimdata=ds511testdata=d511testwcovpcovdistancelisttestlist;
classgroup;
varx1-x4;
run;
在协方差阵是否相等不能确定的情况下,添加选项pool=test首先检验协方差阵是否相等,采用如下程序:
procdiscrimdata=ds511testdata=d511testpool=testslpool=0.05list;
classgroup;varx1-x4;run;
组内协方差阵齐性的检验结果
TheDISCRIMProcedure
TestofHomogeneityofWithinCovarianceMatrices
Chi-SquareDFPr>ChiSq
19.055381100.0396
SincetheChi-Squarevalueissignificantatthe0.05level,thewithincovariancematriceswill
beusedinthediscriminantfunction.
卡方检验的P值为0.0396<0.05,所以拒绝协方差阵相等的假设,即不相等。
所以判别函数应为二次函数。
类间配对广义马氏距离
判别结果
回判结果全部正确,待判别的8各盐泉全归为B,即不含钾。
二、广义平方距离判别和Bayes判别
当先验概率和各组协方差阵都相等等时,广义平方距离
判别法即为马氏距离判别法。
广义平方距离判别调用discrim过程。
当各组协方差阵相等时,Bayes判别法与协方差阵相等情况下的马氏距离判别法一致;
当各组协方差阵不相等时,此时的Bayes判别法与协方差阵不全相等情况下的广义平方距离判别法一致。
应用举例(课本191页)
例5.2.2(胃癌的鉴别)下表是从病例中随机抽取的部分资料,这里有二个总体:
胃癌、萎缩件胃炎和非胃炎患者.从每个总体抽5个病人,每人化验4项生化指标:
血清铜蛋白(X1)、蓝色反应(X2)、尿吲哚乙酸(x3)和中性硫化物(X4).试用广义平方距离判别方法建立判别准则并对这15个样品进行判别归类。
表5.2胃癌检验的生化指标
SAS程序如下:
datad522;
inputgroupx1-x4@@;
cards;
1228134201112451341040
12001671227117015078
110016720142225125714
2130100612215011776
212013310262160100510
3185115519317012564
3165142533135108212
310011772
;
procdiscrimdata=d522pool=nodistancelist;
classgroup;
priorsequal;
varx1-x4;
run;
程序解释说明:
(1)pool=no表示认为三个总体的协方差阵不全相等,此时采用广义平方距离进行判别归类;
(2)priorsequal;假定先验概率相等,都为1/3.
PRI0RS语句:
该语句指定各组中成员出现的先验概率.一般格式:
Priorsequal;规定先验概率相等
Priorsproportional|prop;规定先验概率为各组样本出现的比例
Priorsprobabilities;指定各个组(即分类变量的各个水平)的先验概率
如:
priorsA=0.1B=0.3C=0.5D=0.1;
如果分类变量的水平值为小写字符或数值时必须用括号括起来.
Priors‘a’=0.1‘b’=0.3‘c’=0.5‘d’=0.1;
Priors‘l’=0.1‘2’=0.3‘3’=0.5‘4’=0.1;
主要输出结果:
输出(A)两两配对的组间广义平方距离
由输出结果知,
等等。
输出(B)由选项LIST要求而列出的回判结果
回判结果中给出三个类中15个样品都判对了,
输出(C)错判信息
错判信息给出错判的比率为0.