距离、广义平方距离与Bayes判别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判别分析
——距离判别、Bayes判别
一、距离判别
1、距离判别所用DISCRIM过程(一般判别过程)简介常用格式如下:
PROC DISCRIM<options>;
CLASS variable;
V AR variable;
RUN;
常用语句说明:
1.PROC DISCRIM语句
语句一般格式:PROC DISCRIM <options>;
表示调用DISCRIM过程,开始执行判别分析。
<options>选项一般有如下几类:
数据集选项
(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语句
一般格式为:CLASS variable;
该语句规定进行判别分析的分类变量,可以是字符型的,也可以是数值型的。
3.V AR语句
一般格式为:VAR variable; 用来指明用来建立判别函数的变量。
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.4是SAS程序输出的部分结果.
SAS程序如下:(假定两组总体协方差阵相等)
data d511;
input x1-x4 group $;
cards;
13.85 2.79 7.80 49.60 A
4.67 12.31 A
4.63 16.18 62.15 A
3.54 7.50 43.20 A
28.79 4.90 A
1.06 1.22 B
3.85 0.80
4.06 47.10 B
0.00 3.50 0.00 B
2.42 2.14 15.10 B
12.10 0.00 5.68 0.00 B
8.85 3.38 5.17 26.10 .
28.60 2.40 1.20 127.0 .
20.70 6.70 7.60 .
7.90 2.40 4.30 .
3.19 3.20 1.43 9.90 .
5.10 4.43 .
3.40 2.31 31.30 .
15.00 2.70 5.02 .
;
proc discrim data=d511 wcov pcov distance list; class group;
var x1-x4; run;
程序解释说明:
(1)DATA步创建一个用于建立判别函数和归类的名为d511的SAS数据集。
其中x1--x4为盐泉的四个特征数
值,group为分类变量,为字符型。
数据行的后八行为待判样品,不参与判别函数的创建,group为缺省值代表要求判别归类。
(2)proc discrim表示调用discrim过程,选项data=d511指定分析的输入数据集,缺省时采用最新创建的SAS数据集;
(3)选项wcov pcov分别要求输出组内协方差阵(即1S和S)和合并样本协方差阵(即S)(见输出5.1-1)
2
(4)选项distance要求输出各组间的距离(见输出);(5)选项1ist要求输出按距离准则的判别结果(见输出
4 )。
(6)class语句规定进行判别分析的分类变量,即group;(7)var语句指明用来建立判别函数的变量。
主要输出结果:
输出5.1-1组内协方差阵(即
S和2S)和合并样本协方
1
差阵(即S)
组间距离及两组总体均值差异的显著性检验A,B两组间距离为37.02876,
检验)
2()1(0:μμ=H 的F 统计量值为14.46436,对应P 值
=0.0059<0.05,故A,B 两组均值有显著差异,即A,B 两个盆地的盐泉特征有显著差异,故判别归类问题有意义。
输出5.1-3 线性判别函数
得到线性判别函数如下: A 盆地(含钾盐泉)
432118131.196307.1354881.567412.724731.42X X X X Y A +-++-=
B 盆地(不含钾盐泉)
432145583.037383.535698.193107.2162721.5X X X X Y B +-++-=
输出5.1-4 由选项list 要求列出的判别结果
回判结果全部正确,8个待判盐泉1,4,5归为B,为不含钾盐泉,2,3,6,7,8归位A,为含钾盐泉。
或者将待判别的数据单独形成一个数据集,SAS程序如下:data ds511;
input x1-x4 group $;
cards;
13.85 2.79 7.80 49.60 A
22.31 4.67 12.31 47.80 A
28.82 4.63 16.18 62.15 A
15.29 3.54 7.50 43.20 A
28.79 4.90 16.12 58.10 A
2.18 1.06 1.22 20.60 B
3.85 0.80
4.06 47.10 B
11.40 0.00 3.50 0.00 B
3.66 2.42 2.14 15.10 B
12.10 0.00 5.68 0.00 B
;
data d511test;
input x1-x4 group $;
cards;
8.85 3.38 5.17 26.10 .
28.60 2.40 1.20 127.0 .
20.70 6.70 7.60 30.20 .
7.90 2.40 4.30 33.20 .
3.19 3.20 1.43 9.90 .
12.40 5.10 4.43 24.60 .
16.80 3.40 2.31 31.30 .
15.00 2.70 5.02 64.00 .
;
proc discrim data=ds511 testdata=d511test wcov pcov distance list testlist;
class group;
var x1-x4;
run;
在协方差阵是否相等不能确定的情况下,添加选项pool=test首先检验协方差阵是否相等,采用如下程序:proc discrim data=ds511 testdata=d511test pool=test slpool=0.05 list;
class group; var x1-x4;run;
组内协方差阵齐性的检验结果
level, the within covariance matrices will
be used in the discriminant function.
卡方检验的P值为0.0396<0.05,所以拒绝协方差阵相等的假设,即不相等。
所以判别函数应为二次函数。
类间配对广义马氏距离
判别结果
回判结果全部正确,待判别的8各盐泉全归为B,即不含钾。
二、广义平方距离判别和Bayes判别
当先验概率和各组协方差阵都相等等时,广义平方距离判别法即为马氏距离判别法。
广义平方距离判别调用discrim 过程。
当各组协方差阵相等时,Bayes判别法与协方差阵相等情况下的马氏距离判别法一致;
当各组协方差阵不相等时,此时的Bayes判别法与协方差阵不全相等情况下的广义平方距离判别法一致。
应用举例(课本191页)
例(胃癌的鉴别)下表是从病例中随机抽取的部分资料,这里有二个总体:胃癌、萎缩件胃炎和非胃炎患者.从每个总体抽5个病人,每人化验4项生化指标:血清铜蛋白(X1)、蓝色反应(X2)、尿吲哚乙酸(x3)和中性硫化物(X4).试用广义平方距离判别方法建立判别准则并对这15个样品进行判别归类。
表5.2 胃癌检验的生化指标
SAS程序如下:
data d522;
input group x1-x4 @@;
cards;
1 228 134 20 11 1 245 134 10 40
1 200 167 1
2 27 1 170 150 7 8
1 100 167 20 14
2 225 125 7 14
2 130 100 6 12 2 150 117 7 6
2 120 13
3 10 26 2 160 100 5 10
3 185 115 5 19 3 170 125 6 4
3 165 142 5 3 3 135 108 2 12
3 100 117 7 2
;
proc discrim data=d522 pool=no distance list; class group;
priors equal;
var x1-x4;
run;
程序解释说明:
(1)p ool=no表示认为三个总体的协方差阵不全相等,此时采用广义平方距离进行判别归类;
(2)p riors equal;假定先验概率相等,都为1/3.
PRI0RS语句:该语句指定各组中成员出现的先验概率.一般格式:
Priors equal;规定先验概率相等
Priors proportional|prop;规定先验概率为各组
样本出现的比例 Priors probabilities ;指定各个组(即分类变量的各个水平)的先验概率
如: priors A=0.1 B =0.3 C =0.5 D =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 ) 两两配对的组间广义平方距离
的广义平距离,到总体为记1)2(2G X )1|2(D 由输出结果知, 03789.40)1|3(D ,04485.19)3|2(D ,06467.43)1|2(D 222===等等。
输出(B ) 由选项LIST 要求而列出的回判结果
回判结果中给出三个类中15个样品都判对了,输出(C)错判信息
错判信息给出错判的比率为0.。