SAS学习系列36判别分析.docx
- 文档编号:2160976
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:26
- 大小:1,002.14KB
SAS学习系列36判别分析.docx
《SAS学习系列36判别分析.docx》由会员分享,可在线阅读,更多相关《SAS学习系列36判别分析.docx(26页珍藏版)》请在冰豆网上搜索。
SAS学习系列36判别分析
36.判别分析
(一)基本原理
判别分析,是用以判别个体所属类的一种统计方法。
其原理是根据已掌握的一批分类明确的样品,建立一个较好的判别函数,使得用该判别函数进行判别时错判事例最少,进而能用此判别函数对给定的一个新样品判别它来自哪个总体。
判别分析方法通常要给出一个判别指标(判别函数),同时还要指定一种判别规则。
一、距离判别法
未知总体的样品x离哪个总体的距离最近,就判断它属于哪个总体。
1.对于两个正态总体G1,G2
距离选用马氏(Mahalanobis)距离:
d2(x,G1)=(x-μ1)T∑1-1(x-μ1)
d2(x,G2)=(x-μ2)T∑2-1(x-μ2)
其中,μ1,μ2,∑1,∑2分别为总体G1,G22的均值和协差矩阵。
令
W(x)=d2(x,G1)-d2(x,G2)
称为判别函数,若∑1=∑2时,W(x)是线性函数,此时称为线性判别;若∑1≠∑2,W(x)是二次函数。
2.多总体情况
设有m个总体:
G1,…,Gm,其均值、协差阵分别为μi,∑i.对给定的样品x,按距离最近的准则对x进行判别归类:
首先计算样品x到m个总体的马氏距离di2(x),然后进行比较,把x判归距离最小的那个总体,即若dh2(x)=min{di2(x)|i=1,…,m},则x∈Gh.
二、Fisher线性函数判别法
为了方便使用,需要寻找尽量简单的判别函数,其中在Fisher准则下的线性判别函数就是只利用总体的一、二阶矩就可求得的判别函数。
图1Fisher线性判别分析示意图
下面以两个总体为例来说明Fisher判别的思想。
设有两个总体G1、G2,其均值分别为μ1和μ2,协方差阵分别∑1和∑2,并假定∑1=∑2=∑,考虑线性组合:
y=LTx。
通过寻求合适的L向量,使得来自两个总体的数据间的距离较大,而来自同一个总体数据间的差异较小。
为此,可以证明,当选L=c∑–1(μ1–μ2),其中c≠0时,所得的投影即满足要求。
从而称c=1时的线性函数:
y=LTx=(μ1–μ2)T∑–1x
为Fisher线性判别函数。
其判别规则为:
其中,m为两个总体均值在投影方向上的中点,即
三、贝叶斯判别法
设m个总体G1,…,Gm,其分布密度分别为f1(x),…,fm(x),各自的先验概率(可以根据经验事先给出或估出)分别为q1,…,qm,显然
当抽取了一个未知总体的样品x,要判断它属于哪个总体,可用著名的贝叶斯公式计算x属于第j个总体的后验概率:
若
则判断x属于第h个总体。
或者计算按先验概率加权的误判平均损失:
其中,C(j|i)为假定本来属于Gi的样品被判为属于Gj时造成的损失,当然C(i|i)=0,C(j|i)≥0.
再比较这m个误判平均损失的h1(x),…,hm(x)的大小,选取其中最小的,就可以判定样品x来自该总体。
在实际问题中,错判的损失可以给出定性分析,但很难用数值来表示,但应用贝叶斯判别法时,要求定量给出C(j|i),C(j|i)的赋值。
通常:
根据经验人为赋值;假定各种错判的损失都相等。
错判概率
当样品x∈Gi,用判别法判别时,把x判给Gj(i≠j),出现错判。
用P(j|i))表示实属Gi的样品错判为Gj的概率。
广义平方距离判别法
在正态总体的假定下,按贝叶斯判别的思想,在错判造成的损失认为相等的情况下得到的判别函数,其实就是马氏距离判别法在考虑先验概率及协方差阵是否相等情况下的推广,故在SAS的DISCRIM过程中称为广义平方距离判别法。
四、逐步判别法
所有变量中,有的变量对区分k个总体的判别能力可能很强,有的可能很弱。
如果不加区别地用全部变量来建立判别函数,则必增加大量的计算,还可能因为变量间的相关性引起计算上的困难(病态或退化等)及计算精度的降低。
另一方面由于一些对区分k个总体的判别能力很小的变量的引入,产生干扰,致使建立的判别函数不稳定,反而影响判别效果,因此自然提出一个变量的选择问题。
即如何从m个变量中挑选出对区分k个总体有显著判别能力的变量,来建立判别函数,用以判别归类。
1.各变量判别能力的检验
筛选判别变量和做逐步判别,都需要检验各变量的判别能力。
若第i个分量间没有显著差异时,说明相应的变量Xi对判别分类不起作用,应该剔除。
变量判别能力的度量通常采用删去该变量后考察判别能力的变化,即考察该变量对区分k个类是否能提供更多的附加信息,然后由附加信息构造F统计量进行检验。
利用F统计量对假设(H0:
第i个变量在k个总体中的均值相等)作统计检验。
若否定H0,表示变量Xi对区分k个总体的判别能力是显著的(在显著水平α下)。
否则,变量Xi对区分k个总体的判别能力不能提供附加信息,这个变量应剔除。
2.基本思想
逐个引入变量,每次把一个判别能力最强的变量引入判别式,每引入一个新变量,对判别式中的老变量逐个进行检验,如其判别能力因新变量的引入而变得不显著,应把它从判别式中剔除。
这种通过逐步筛选变量使得建立的判别函数中仅保留判别能力显著的变量的方法,就是逐步判别法。
3.基本步骤
(1)逐步筛选变量:
根据各变量对区分k个总体的判别能力的大小来筛选变量。
SAS中的STEPDISC过程专用于筛选变量子集。
该过程利用向前选入、向后剔除或逐步筛选的方法来选择区分k个总体的最佳变量子集。
(2)判别归类:
对已选出变量子集,使用前文的某种判别方法对样品进行判别归类。
(二)判别分析的SAS实现
一、PROCSTEPDISC过程步(逐步判别分析)
针对具有一个分类变量和若干数值型变量的数据集,STEPDISC过程执行逐步判别分析:
从指定的指标变量(VAR变量)中筛选出一组变量,以用于随后的判别分析。
逐步判别分析要求指标变量在各组内服从多元正态分布,并且具有相同的协方差矩阵。
基本语法:
PROCSTEPDISCdata=数据集<可选项>;
CLASS变量;
BY变量;
VAR变量列表;
FREQ变量;
WEIGHT变量;
可选项:
MAXSTEP=n——指定最大步数;
METHOD=BACKWARD/FORWARD/STEPWISE——指定筛选方法:
向前选入、向后剔除、逐步筛选;
SHORT——只输出汇总结果(压缩每一步的输出);
SLE/SLENTRY=p——指定向“向前选入法”的显著水平(默认p=0.15);
SLS/SLSTAY=p——指定向“后退剔除法”的显著水平(默认p=0.15);
CLASS语句和BY语句——必不可少,指定分组变量(区别是BY语句需要事先对BY变量排序);
二、PROCDISCRIM过程步(判别分析)
DISCRIM过程根据一个分类变量和若干数值变量的数据计算出各种判别函数(判别准则),根据这个判别函数,再将该批数据或其他数据中的观测分别归入已知类别中去。
DISCRIM过程用以获得判别准则的数据称之为训练数据集。
若假设每个组内样本的分布为多元正态分布,基于多元正态分布理论的参数法将导出一个线性或二次的判别函数;否则,将采用不基于任何分布的假定的非参数方法(核密度法和K最邻近法),来估计类别的密度从而实现分类的功能。
基本语法:
PROCDISCRIMdata=训练数据集testdata=数据集<可选项>;
CLASS变量;
BY变量;
FREQ变量;
ID变量;
PRIORS概率表;
TESTCLASS变量;
TESTFREQ变量;
TESTID变量;
VAR变量列表;
WEIGHT变量;
可选项:
outstat=数据集名——生成数据集,包含各种统计量(均值,标准偏差和相关);
out/outcross=数据集名——生成(/交叉)数据集,包括来自训练数据集的所有数据,后验概率和每个观测通过重替换被分入的类(当canonical选项指定时,该数据集还包含典型变量得分的新变量);
outd=数据集名——生成一个包含来自训练数据集的所有数据和每一观测的组密度估计的数据集;
注:
前面命令若加test前缀,则输出testdata数据集生成的相关数据集。
method=normal/npar——指定生成分类准则的方法,默认为normal表示基于类内服从多元正态分布,并生成线性或二次判别函数;npar表示采用非参数方法;
pool=no/test/yes——确定平方距离的度量,是以合并协方差阵还是组内协方差阵为基础,默认pool=yes采用合并协方差阵得出线性判别函数;当pool=no时,采用单个组内协方差阵得出二次判别函数;当method=normal时,pool=test要求对组内协方差阵的齐性的似然比检验进行Bartlett修正,当不加可选项short时,线性判别函数会直接给出,而二次型判别函数需通过建立输出数据集方式获得;
slpool=p——指定齐性检验的显著水平(默认p=0.1,只用于pool=test时);
threshold=p——指定分类中可以接受的最小后验概率p值,默认p=0,若某观察样品归于某组的最大后验概率值小于该p值,则将该样品归入其它组;
anova和manova选项——分别要求输出对各类的单个变量与多个变量的均数、均值向量之间进行一元或多元方差分析的结果,其作用就是检验判别函数的判别效果;
listerr和crosslisterr选项——listerr表示输出由后验概率产生错误分类的样品点的有关信息,crosslisterr表示要求以交叉表的形式输出实际类别与分类结果之间一致和不一致的有关信息;
var语句——指定用于进行判别分析的变量子集,建立起关于此变量子集的判别函数表达式;
priors语句——指定先验概率:
priorsequal(默认),表示各类先验概率相等;priorsproportional,表示各类先验概率等于各类样本频率;priorsa=p1b=p2c=p3;其中a、b和c是分类标志,p1、p2和p3是先验概率,p1+p2+p3=1.
三、PROCCANDISC过程步(典型判别分析)
该过程步计算平方马氏距离并做单变量与多变量的单向方差分析并且计算类均值间基于合并类内协方差阵的平方距离。
该过程产生包括典型系数和典型变量得分的输出数据集。
典型判别分析类似于主成份分析和典型相关有关的降维方法。
给定若干组带有几个定量变量的观察,典型判别分析得出与组有最大可能多重相关的变量的线性组合。
最大的多重相关叫做第一典型相关。
线性组合的系数称为典型系数或典型权重。
线性组合定义的变量称为第一典型变量或典型成份。
第二典型相关由与第一典型变量无关的线性组合得到。
以此类推。
CANDISC过程得出的典型变量,如同主成分概括全变差一样来概括类间变差。
基本步骤:
(1)变换变量使合并的类内协方差阵为单位阵;
(2)计算变换后的变量的类均值;
(3)对均值做主成份分析,以每一类中的观察个数为权重;
(4)特征值等于每个主成份方向上的类间偏差与类内偏差之比;
(5)把主成份变量反变换到原始变量的空间,获得典型变量。
典型变量间不相关,但典型系数并不正交。
因此,典型变量并不代表原始变量空间中的正交方向。
对每一个典型相关,CANDISC检验总体中该相关及更小的典型相关为零的假设。
采用F近似值比一般的近似值能给出更好的小样本结果。
每一类内变量应该具有近似的多元正态分布,为了概率水平有效,方差矩阵应该是共同的。
第一典型相关大于等于组与任何一个原始变量间的多重相关。
该过程产生一个包含每一典型变量得分的输出数据集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 学习 系列 36 判别分析
![提示](https://static.bdocx.com/images/bang_tan.gif)