资源描述
Bayes判别分析及应用班级:计算B101姓名:孔维文学号201009014119指导老师:谭立云教授【摘要】判别分析是根据所研究个体的某些指标的观测值来推断该个体所属类型的一种统计方法,在社会生产和科学研究上应用十分广泛。在判别分析之前,我们往往已对各总体有一定了解,样品的先验概率也对其预测起到一定作用,因此进行判别时应考虑到各个总体出现的先验概率;由于在实际问题中,样品错判后会造成一定损失,故判别时还要考虑到预报的先验概率及错判造成的损失,Bayes判别就具有这些优点;然而当样品容量大时计算较复杂,故而常借助统计软件来实现。本文着重于Bayes判别分析的应用以及SPSS的实现。【关键词】判别分析Bayes判别Spss实现判别函数判别准则Class:calculationB101name:KongWeiWenregistrationnumber201009014119Teacher:TanLiYunprofessor.【Abstract】Discriminantanalysisisbasedonthestudyofcertainindicatorsofindividualobservationstoinferthattheindividualbelongsasatypeofstatisticalmethodsinsocialproductionandscientificresearchiswidelyused.Indiscriminantanalysis,weoftenhaveacertainunderstandingoftheoverallsampleoftheaprioriprobabilityofitspredictionplayarole,itshouldbetakenintoaccounttodeterminetheoverallemergeneeofvariouspriorprobability;becauseofpracticalproblems,sampleswillresultinsomelossofmiscarriageofjustice,soidentificationmustbeconsideredwhenthepriorprobabilityandwronglypredictedloss,Bayesdiscriminanttohavetheseadvantages;However,whenthesampleislargecomputingcapacityofmorecomplex,oftenusingstatisticalsoftwareGuertoachieve.ThisarticlefocusesontheapplicationofBayesdiscriminantanalysis,andimplementationofSPSS.【Keywords】Discriminantanalysis;Bayesdiscriminant;Spssachieve;Discriminantfunction;Criteria;1.1.1判别分析的概念在科学研究中,经常会遇到这样的问题:某研究对象以某种方式(如先前的结果或经验)已划分成若干类型,而每一种类型都是用一些指标X=(X1,X2,Xp)T来表征的,即不同类型的X的观测值在某种意义上有一定的差异。当得到一个新样品(或个体)的关于指标X的观测值时,要判断该样品(或个体)属于这几个已知类型中的哪一个,这类问题通常称为判别分析。也就是说,判别分析是根据所研究个体的某些指标的观测值来推断该个体所属类型的一种统计方法。判别分析的目的是得到体现分类的函数关系式,即判别函数。基本思想是在已知观测对象的分类和特征变量值的前提下,从中筛选出能提供较多信息的变量,并建立判别函数;目标是使得到的判别函数在对观测量进行判别其所属类别时的错判率最小。判别函数的一般形式是:Y=a,xa2x2-anxn.其中,Y为判别函数判别值;xX2,Xn为反映研究对象特征的变量;ai,a2,,an为各变量的系数,即判别系数。常用的判别法有距离判别法、Fisher判别法和Bayes判别法。用统计语言来描述判别分析,就是已知有g个总体Gi,G2,,Gg(每个总体Gi可认为是属于Gi的指标X=(Xi,X2,,Xp)T取值的全体),它们的分布函数Fi(x),F2(x),Fg(x)均为p维函数,对于任一给定的新样品关于指标X的观测值x=(X1,X2,Xp)T,我们要判断该样品应属于这g个总体中的哪一个。1.1.2判别分析的应用及意义判别分析的应用十分广泛。例如,在工业生产中,要根据某种产品的一些非破坏性测量指标判别产品的质量等级;在经济分析中,根据人均国民收入、人均工农业产值、人均消费水平等指标判断一个国家、某个省市经济发展程度所属的类型;在考古研究中,根据挖掘的古人头盖骨的容量、周长等判断此人的性格;在地质勘探中,根据某地的地质结构、化探和物探等各项指标来判断该地的矿化类型;在医学诊断中,医生要根据某病人的化验结果和病情征兆判定病人患哪一种疾病,等等。值得注意的是,作为一种统计方法,判别分析所处理的问题一般都是机理不甚清楚或基本不了解的复杂问题,如果样品的某些观测指标和其所属类型有必然的逻辑关系,也就没有必要应用判别分析方法了。在实际应用中,通常由取自各总体的关于指标X的样本为该总体的代表,该样本称为训练样本,判别分析即提取训练样本中各总体的信息以构造一定的准则来决定新样品的归属感。训练样本往往是历史上对某现象长期观察或者是用昂贵的试验手段得到的,因此对当前的新样品,我们自然希望将其指标中的信息同各总体训练样本中的信息作比较,使可在一定程度上判定新样品的所属类型。概括起来,下述几方面体现了判别分析的重要意义。第一,为未来的决策和行动提供参考。例如,以前对一些公司在破产前两年观测到某些重要的金融指标值。现在,要根据另一个同类型公司的这些指标的观测值,预测该公司两年后是否将频临破产的危险,这便是一种判别,其结论可以帮助该公司决策人员及早采取措施,防止将来可能破产的结局。第二,避免产品的破坏。例如,一只灯泡的寿命只有将它用坏时才能得知;一种材料的强度只有将它压坏时才能获得。一般地,我们希望根据一些非破坏性的测量指标,便可将产品分出质量等级,这也要用到判别分析。第三,减少获得直接分类信息的昂贵代价。例如在医学诊断中,一些疾病可用代价昂贵的化验或手术得到确诊,但通常人们往往更希望通过便于观测的一些外部症状来诊断,以避免过大的开支和患者不必要的损伤。第四,在直接分类信息不能获得的情况下可用判别分析。例如,要判断某未署名的文学作品是否出自某已故作家之手,很显然,我们不能直接去问他。这是可以用判别分析方法在一定程度上判定该署名作品是否由该作家所作。从以上例子也可以清楚地看出,如果不是利用直接明确的分类信息来判断某新样品的归属问题,难免会出现误判的情况,判别分析的任务是依据训练样本所提供的信息,建立在某种意义下最优(如误判概率最小或误判损失最小)的准则来判定一个新样品属于哪一个总体。2.1 Bayes判别分析的前提假设在介绍具体判别方法前首先来看判别分析的假设条件。这一点非常重要,如果数据不满足分析的前提条件,分析的结果是值得怀疑的。(1)各个判别变量服从正态分布,由各个判别变量的联合分布是多元正态分布。只有在这个条件下,我们才可以进行有关的显著性检验。(2)各判别变量不能存在多重共线性。这样变量组成的矩阵将不存在逆,判别分析的计算不能进行。(3)每个变量在各类中的取值应存在显著性差异。只有在这个假设下才能通过变量建立有效地判别函数将各类区分出来。2.2 Bayes判别的基本思想Bayes统计是现代统计学的重要分支,其基本思想是:假定对所研究的对象(总体)在抽样前已有一定的认识,常用先验分布来描述这种认识,然后给予抽取的样本再对先验认识作修正,得到后验分布,而各种统计推断均基于后验分布进行。将Bayes统计的思想用于判别分析,就得到Bayes判别方法。用统计的语言来描述Bayes判别分析2:已知有g个p维总体Gi,G?,,Gg(每个总体Gi可认为是属于Gi的指标X=Xi,X2,Xg取值的全体),它们的先验概率分别为qi,q2,qg(他们可由经验给出也可以估计出),显然应有qi0(i=1,2,g)且g、qi=1。各总体分别具有互不相同的p维密度函数f1(x),f2(x),,fgx(在离散情形id是概率函数),在观测到一个样本x的情形下,可用著名的Bayes公式计算它来自第k总体的后验概率(相对先验概率来说,将它又称为后验概率):P(k/x)qfk(x)k=1,2-,g(2-2-1)迟qfi(x)i4并且当P(h/x)=maxp(k/x)时,则判X来自第h个总体.1岂童有时还可以使用错判损失最小的概念作判别函数。这时把x错判归第h总体的平均损失定义为E(h/x)qkfk(x)Lh/k七qfi(x)V(2-2-2)其中L(h/k)称为损失函数。它表示本来是第k总体的样品错判为第h总体的损失。显然上式是对损失函数依概率加权平均或称为错判的平均损失。当h=k时,有L(h/k)=O,当h=k时,有L(h/k)0.建立判别准则为如果E(h/x)minE(k/x),则判x来自第h个总体.1兰強原则上说,考虑损失函数更为合理,但是在实际应用中L(h/k)不容易确定,因此常常在数学模型中就假设各种错判的损失皆相等,即0h=kL(k/x)Jh=k(2-2-3)这样一来,寻找h使后验概率最大和使错判的平均损失最小是等价的,即p(h/x)Jmax=E(h/x)tmin2.3两正态分布的Bayes判别2.3.1马氏(Mahalanobis)距离和判别函数设G是p维总体,数学期望为,i=1,2(2-3-4)其中片和Hi(i=1,2)为两总体的均值向量和协方差矩阵,闰表示矩阵龙i的行列式(i=1,2)。假设两正态总体的协方差矩阵相等,即=二2二匸。这时可得f1(X)f2(X)=exp/(X2)X(x2)-(x1)T1(xr2x,G2-d2X,G-lnq2C112,xG1,q1c2|r11f3,xG2q1c2|1Sd=expWx打(2-3-5)其中W(X)=X-lS2T3(叫2)2实际应用中,若出,出和乞未知,则用训练样本作估计,即以田=x(1),2=X(2)和(n賞n:21)S2代替式中的1和2枇.2.4多正态总体的Bayes判别将两正态总体的Bayes判别推广到多正态总体的判别分析中.设g个p维正态总体G1,G2,,Gg其概率密度函数同式(4).假设各正态总体的协方差矩阵相等,即-g,则判别函数为W,x二叮匕如-丄叮匕亠.lnqi,其中i=1,2,3,g.2实际应用中,若叫,二未知,则以训练样本作估计,即以训练样本的样本均值X(i)和样本方差Si作为叫和二的估计,此时n1-1Sn2-1S2ng-1Sg】/(nng-g).2.5判别准则在此介绍错判的平均损失最小原则的理论。两正态总体的Bayes判别准则.设总体G1,G2的先验概率分布分别为q和q2,误判损失分别为c(211)和c(1|2).对给定的样品x,计算两总体的概率密度函数在x处的函数值,其Bayes判别准则为若W(x)若W(x)多正态总体的Bayes判别准则.设总体Gi,G2,,Gg的先验概率分布分别为q,q2,,qg,误判损失为c(j|i)(i,j=1,2,,g,i=j)记c(j|i)=O在等误判损失下,其Bayes判别准则为若maxW/x):=W(x),则xGi(2-3-7)i鱼童2.6判别准则的评价当一个判别分析提出后,很自然的问题就是它们的优良性如何。通常,一个判别准则的优势,用它的误判率来衡量。以两个总体为例,一个判别准则的误判率即x属于G而判归G2后的概率,但只有当总体的分布完全已知时,才有可能精确计算误判概率。在实际应用中,这种情况是很少见的,因为在大多数情况下,我们可利用的资料只是来自各总体的训练样本,而总体的分布是未知的。下面我们以两个总体为例,介绍两种以训练样本为基础的评价判别准则优劣的方法。它们很容易推广到多个总体的情况。貌似误判率方法当利用各总体的训练样本构造出判别准则后,评估此准则优劣的一个可行的办法是通过对训练样本中的各样品逐个回判(即将各样品代入判别准则中进行再判别),利用回判的误判率来衡量判别准则的效果,具体办法如下:设G,G2为两个总体,x1k),x2k),,xn:)k=1,2为来自G和G2的容量分别为m和门2的训练样本,以此按一定方法(如Bayes判别法)构造一个判别准则(或判别函数),以全体训练样本作为厲门2个新样品,逐个代入已建立的判别准则中判别其归属,这个过程称为回判,为明了起见,将回判结果连同其实际分类列成如下的四格表2-6-1o表1两总体回判结果实际归类回判情况G1G2合计Gnnn12G2n21n22其中nn:属于G的样品被正确判归G的个数,n12:属于G的样品被正确判归G2的个数,nN:属于G2的样品被正确判归G的个数,n22:属于G2的样品被正确判归G2的个数。很显然有n1+0|2=n,n21+n?2=n?。定义貌似误判率为回判中判错样品的比例,记为石,即%n21n2(2-3-8)a?在一定程度上反映了某判别准则的误判率且对任何判别准则都易于计算。但是,召是由建立判别函数的数据反过来又用作评估准则优劣的数据而得到的,因此?作为真实误判率的估计是有偏的,往往要比真实的误判率来的小。但作为误判概率的一种近似,当训练样本容量较大时,还是具有一定的参考价值。1. 刀切法刀切法也称为交叉确认法(Cross-Validation)。其基本思想:每次剔除训练样本中的一个样品,利用其余容量为m2-1的训练样本建立判别函数,再用所建立的判别函数对删除的那个样品作判别。对训练样本中的每个样品重复上述步骤,以其误判的比例作为误判概率的估计。具体步骤如下:(1)从总体G的容量为厲的训练样本开始,剔除其中的一个样品,用剩余的m-1个训练样本和总体G2的容量为n2的训练样本建立判别函数;(2) 用步骤(1)中建立的判别函数对剔除的样品作判别;(3) 重复步骤(1)和(2),直到总体G的训练样本中的n1个样品依次被剔除和判别用门腭记误判样品个数;对总体G2的容量为n2的训练样本重复步骤(1)(3),用n2M)记误判的样品个数.则总的误判比例为(J)(J)闵迪“Mn2MJ_n2可以证明它是实际误判概率的渐进无偏估计。刀切法比貌似误判率方法要更合理些,但缺点是计算量大。2. 实例分析为研究舒张期血压和血浆胆固醇对冠心病的作用,某医师测定了5059岁冠心病人15例和正常人16例的舒张压和胆固醇指标,结果如表3-3所示。试做判别分析,建立判别函数以便在临床中用于筛选在临床中用于筛选冠心病人。表:2数据表冠心病人组正常人组编号舒张压胆固醇编号舒张压胆固醇19.865.181610.662.07:213.333.731712.534.45314.663.8918P13.333.06:49.337.1199.333.94512.85.492010.664.45610.664.0921P10.664.92:710.664.45229.333.68813.333.632310.662.77913.335.9624P10.663.21:1013.335.72510.665.0211126.192610.43.941214.664.01279.334.921313.334.012810.662.691412.83.632910.662.431513.335.963011.23.42319.333.633. 判别分析的结果1各组的描述统计量和对各组均值是否相等的检验。表3:分析个案综合统计量AnalysisCaseProcessingSummaryUnweightedCasesNPercentValid31100.0ExcludedMissingorout-of-rangegroupcodes0.0Atleastonemissingdiscriminatingvariable0.0Bothmissingorout-of-rangegroupcodesandatleastonemissingdiscriminatingvariable0.0Total0.0Total31100.031个样本表3反映的是有效样本量及变量缺失的情况;按变量“组别”分组共有为判别基础数据进入分析,其中第一组十五例,第二组十六例表4:分组统计量GroupStatistics类别MeanStd.DeviationValidN(listwise)UnweightedWeighted冠心病人组舒张压12.49401.64061515.000胆固醇4.86801.12951515.000正常人组舒张压10.62871.09681616.000胆固醇3.6625.92471616.000Total舒张压:11.53131.66003131.000胆固醇4.24581.18233131.000mean)表4是各组变量的描述统计分析列表;表中给出分组变量和合计的均数(标准差(standarddeviation)和有效个案的例数。表5:各组均值相等性检验TestsofEqualityofGroupMeansWilksLambdaFdf1df2Sig.舒张压.67414.017129.001胆固醇.73210.633129.003表5是对各组均值是否相等的检验,F值越大,WilksLsmbda越小,平均数的差异越大;由sig值可以看出,在0.01的显著性水平上拒绝变量在两组的均值相等的假设,即认为变量在两组的均值是有极显著性差异的。2.对各组协方差矩阵是否相等的BoxsM检验。表6:LogDeterminants表LogDeterminants类别RankLogDeterminant冠心病人组21.048正常人组2.004Pooledwithin-groups2.605Theranksandnaturallogarithmsofdeterminantsprintedarethoseofthegroupcovariancematrices.表:6反映协方差矩阵的秩和行列式的对数值。由行列式值可以看出协方差矩阵不是病态矩阵。表:7:Test表TestResultsBoxs2.8MApprox1568.df3升1779522.8.4Testsng1lhypothes私ofequalPROVOFlOHCematrices.表7是对各总体协方差阵是否相等的统计检验。又F值及其显著性水平,我们在0.05的显著性水平下拒绝原假设(原假设假定各总体协方差阵相等),即变量遵从正态分布。所以认为选取的变量是满足判别分析的假定的。3典型判别函数的分析表&典型判别函数的特征值表EigenvaluesFunctionEigenvalue%ofVarianceCumulative%CanonicalCorrelation11.239a100.0100.0.744a.First1canonicaldiscriminantfunctionswereusedintheanalysis.表:8所示是典型判别函数的特征值表,其特征(Eigenvalue)为组间平方和与组内平方和之比,计算得1.239,典型相关系数(CanonicalCorr)为0.744。表9:Wilks检验WilksLambdaTestofFunction(s)WilksLambdaChi-squaredfSig.1.44722.5712.000表9是对第一个判别函数的显著性检验。其中Wilks值为0.447,卡方检验统计量的观测值为22.571,概率sig值为0.001,小于0.05,认为判别函数在0.01的显著性水平上是极显著的。4判别函数系数表表10:标准化典型判别函数系数StandardizedCanonicalDiscriminantFunctionCoefficientsFunction1舒张压.884胆固醇.823表:10给出典型判别函数的标准化系数,其标准化函数为:f=0.884X!0.823X2判别函数方程的标准化系数就是前面提到的判别权重,即根据判别函数方程的标准化系数,可以确定各变量对结果的作用大小,本例舒张压的标准化系数为0.884大于胆固醇的标准化系数0.823,因而舒张压对冠心病的影响作用大于胆固醇。表:11:典型判别函数系数CanonicalDiscriminantFunctionCoefficientsFunction1舒张压.638胆固醇.800(Constant)-10.753Unstandardizedcoefficients表11所示为典型判别函数的系数,其典型函数为:f=-10.7530.638捲0.8X25以下输出结果是分类的统计结果表12分类过程摘要表ClassificationProcessingSummaryProcessed31ExcludedMissingorout-of-rangegroupcodes0Atleastonemissingdiscriminatingvariable0UsedinOutput31表12概括了分类过程,说明31个观测都参与分类。表13:先验概率表PriorProbabilitiesforGroups类别PriorCasesUsedinAnalysisUnweightedWeighted冠心病人组.5001515.000正常人组.5001616.000Total1.0003131.000表13包括各类别和全部对应的先验概率(Prior)和参与分析的未加权(Unweighted)和经过加权(weighted)的个案数(CasesUsedinAnalysiS。各类别的先验概率等于1除以类别数。本例中,我们在Classify选项中选择的是所有组的先验概率相等,类别数等于2,所以各类别的先验概率等于0.5。表14费歇尔线性判别函数系数表ClassificationFunctionCoefficients类别冠心病人组正常人组舒张压8.4187.043胆固醇8.1816.457(Constant)-73.191-49.948Fisherslineardiscriminantfunctions利用该表得到两个类别的分类判别函数为:冠心病人组:人二73.1918.418%8.181X2正常人组:f2二-49.9486.457x17.043x2我们可以计算出每个观测在各组的分类函数值,然后将观测分类到较大的分类函数值中。例如某个个案的指标为12、6.19.代入函数得到,f1=78.459,f2=71.132,可以看出f1较大,所以将此个案归入冠心病人组表15:分类矩阵表ClassificationResults类别PredictedGroupMembershipTotal冠心病人组正常人组OriginalCount冠心病人组12315正常人组31316%冠心病人组80.020.0100.0正常人组18.881.3100.0aCross-validatedCount冠心病人组12315正常人组41216%冠心病人组80.020.0100.0正常人组25.075.0100.0a. b,cCrossvalidationisdoneonlyforthosecasesintheanalysis.Incrossvalidation,eachcaseisclassifiedbythefunctionsderivedfromallcasesotherthanthatcase.b. 80.6%oforiginalgroupedcasescorrectlyclassified.c. 77.4%ofcross-validatedgroupedcasescorrectlyclassified.表中PredictedGroupMembership表示预测的所属组关系,Original表示原始数据的所属组关系,Cross-validated表示交叉验证的所属组关系,这里交叉验证是采用留一个在外”的原则,即每个观测是通过除了这个观测以外的其他观测推导出来的判别函数来分类的。由表15可以看出,通过判别函数预测,有25个观测是分类正确的,其中y=1组15个观测中有12个观测被判对,y=2组16个观测中有13个观测被判对,从而有25/3仁80.6%的原始观测被判对。在交叉验证中,y=1组15个观测中有12个观测被判对,y=2组16个观测中有12个观测被判对,从而有24/3仁77.4%的原始观测被判对。还可以通过分类结果分析判对和判错的百分比。最后系统对回代判别情况做出评价,即病人组正确率为80.0%,正常人组为81.3%,总判别正确率为80.65%;交叉验证法的正确率为77.4%,说明该判别函数的正确率还是较高的。参考文献1梅长林、周豕良.实用统计方法M.北京:科学出版社,2002.86-1102茆诗松、王静龙、濮晓龙.高等数理统计M.北京:高等教育出版社;海德堡:施普林格出版社,1998.7.362-3813于秀林、任雪松.多元统计分析M.北京:中国统计出版社,1995.5.128-1524米红、张文璋.实用统计分析方法与SPSS应用M.2000.10苏金明统计软件SPSSforWindows实用指南M.2000.9.478-492李静萍、谢邦昌.多元统计分析方法与应用M.北京:中国人民大学出版社,2008.71-87
展开阅读全文