r语言判别分析案例

篇一:判别分析实验报告

数学实验报告 判别分析

一、实验目的

要求熟练掌握运用SPSS软件实现判别分析。

二、实验内容

已知某研究对象分为3类,每个样品考察4项指标,各类观测的样品数分别为7,4,6;另外还有2个待判样品分别为

第一个样品:

x1??8,x2??14,x3?16,x4?56

第二个样品:

x1?92,x2??17,x3?18,x4?3.0

运用SPSS软件对实验数据进行分析并判断两个样品的分组。

三、实验步骤及结论

1.SPSS数据分析软件中打开实验数据,并将两个待检验样本键入,作为样本18和样本19。

2.实验分析步骤为:

分析→分类→判别分析

3.得到实验结果如下:

(1) 由表1,对相等总体协方差矩阵的零假设进行检验,Sig值为0.022<0.05,则拒绝原假设,则各分类间协方差矩阵相等。

由表2可得,函数1所对应的特征值贡献率已达到99.6%,说明样本数据均向此方向投影就可得到效果很高的分类,故只取函数1作为投影函数,舍去函数2不做分析。

表3为典型判别式函数的Wilks的Lambda检验,此检验中函数1的Wilks Lambda检验sig值为0.022<0.05,则拒绝原假设,说明函数1判别显著。

表4为求得的各典型函数判别式函数系数,由此表可以求得具体函数,得y=9.240+0.010x1+0.543x2+0.047x3-0.068x4。

由表5给出的组质心处的函数值,可以得到函数1的置信坐标为(-1.846,0.616,1.744)。

(2)关于两个待判样本的分组方法:

将样本1的因变量数据代入方程

y=9.240+0.010x1+0.543x2+0.047x3-0.068x4

求得y1=-1.498,分别减去上表中-1.846,0.616,1.744,取绝对值得0.348,0.882,0.246,则样本1为第1组;

同理可得,y2=1.571,分别减去上表中-1.846,0.616,1.744,取绝对值得3.417,0.955,0.173,则样本2为第3组。 贝叶斯判别部分如下:

表6

表7为贝叶斯判别分析得到的分类函数系数表,可以得到3个分组各自的函数:

y1=-223.305-0.074x1-19.412x2+4.549x3+1.582x4 y2=-199.884-0.045x1-18.097x2+4.661x3+1.414x4 y3=-190.041-0.040x1-17.457x2+4.720x3+1.377x4

将两组样本数据分别代入3个方程:

代入样本1得 y1=410.431,y2=207.594,y3=207.309 代入样本2得 y1=186.519,y2=191.765,y3=192.139

故样本1属于第1组,样本2属于第3组。

表8为分类结果表,给出全部样本的分类数据。其中第1组样本数为7个,第2组为4个,第3组为6个,两个样本为分类,且分组正确率为88.2% 。

四、心得体会

本实验需认真分析实验数据,SPSS软件操作须准确,以得到足够清晰的实验结果数据表。实验结果分析过程中涉及到计算,且直接关系到实验结果,须认真对待。通过本次实验对判别分析有了更为深刻的认识,并能够掌握软件的具体使用方法。

篇二:基于贝叶斯理论的R语言实例分析

上海大学2013~2014学年 春 季学期研究生课程考试

课程名称: 贝叶斯统计学 课程编号: 01SAQ9009

论文题目: 基于贝叶斯理论的R语言实例分析

研究生姓名: 杨晓晓、李腾龙学号: 13720061、13720067

研究生班级: 理学院统计系

论文评语:

成 绩: 任课教师:

评阅日期:

基于贝叶斯理论的R语言实例分析

杨晓晓(13720061),李腾龙(13720067)

摘要:Gibbs抽样和Metropolis-Hastings算法是MCMC理论中最为重要

的两种算法,Probit模型也是二分类数据分析中非常重要的模型。本文的主要是通过小组两个人互相讨论的方式,应用Gibbs和M-H算法共同完成了Probit模型在贝叶斯理论框架下的估计问题,深入学习并掌握Probit模型、Gibbs抽样、M-H算法的相关知识,并能够初步使用R语言进行编程。同时,在文章第二部分我们俩还给出了多项式分布的Gibbs抽样的实现。

关键词:Probit,Gibbs,Metropolis-Hastings,多项式分布 一、Probit 模型介绍

1.1 Probit模型的定义

设y是一个二值的响应变量,yi?0或1。y的值依赖于解释变量x,通常我们可以认为yi?1的概率是关于x的一个函数,即:

P(y1?1|xi)?f(xi)

假设存在潜在变量zi?xi????i

?1yi??

?0

zi?0

zi?0

其中,?i~N(0,1)

则:zi~N(xi??,1)

P(yi?1|xi)?P(zi?0)?P(xi????i?0)

?1?P(?i??xi??)

?1??(?xi??)??(xi??)

?是参数,zi是潜变量。

通常,我们称由上式决定的模型为Probit模型。

二、Probit模型与Gibbs抽样

2.1 满条件分布

由1.1节,我们知道潜变量zi?xi????i

由于对服从分布:zi~N(xi??,1),

这暗示潜变量zi的分布是以yizi做了如下限制条件:zi?0,yi?1;zi?0,yi?0,

为条件的截尾正态分布(truncated normal distribution,TN):zi|yi~TN(xi??,1)

再者,zi?xi????i,回归参数?和潜变量zi为简单线性关系,由实用多元统计分析[1]第七章可知zi~N(xi??,1),所以:

?(xi???zi)2??(X??Z)?(X??Z)?f(z1,?,zn|?,yi,xi)??exp???exp????

22??i?1??

???x11?x1p???1??x1?z1?

????????

其中,X???????????????Z????

?????x???x?z?

p?n??n1?xnp??n???

n

在先验分布?(?)?1的条件下,?的后验分布为:

?(?|yi,zi,xi)?exp??

?(X??Z)?(X??Z)??

2??

???X

r语言判别分析案例

?X??2??X?Z??exp???

2??

???(X?X)?1X?Z??X?X???(X?X)?1X?Z??exp??

2??

??????

?

??

?|yi,zi,xi~Np(X?X)?1X?Z,(X?X)?1,也即,其中X为线性回归样本矩阵,

第一列元素为1,Z为潜变量向量,最终得到回归参数?和潜变量zi的满条件分布:

??

??|zi,yi~Np(X?X)?1X?Z,(X?X)?1

?

zi|?,yi~TN?xi??,1??

2.2 Gibbs算法实现

由2.1 我们得到了Probit模型的满条件分布,故Probit的Gibbs抽样可按下面过程执行:

(1)选取合适的初始值?(0);

(2)从分布TN?xi??,1?中抽取关于zi的样本,抽样过程中满足条件:

??

yi?1,zi?0.yi?0,zi?0.;

X)?1X?Z,(X?X)?1中抽取关于?的样本; (3)从分布Np(X?

(4)重复过程(2)和(3),直到满足需要的样本量。 2.3 程序实现:

第一步,先给定参数??(2,1)?,生成100个样本:

??

#产生样本

x<-matrix() y<-vector() z<-vector() b<-c(2,1) x<-rnorm(100,0,5) x<-cbind(rep(1,100),x) for(i in 1:100){

z[i]<-x[i,]%*%b+rnorm(1,0,1) if (z[i]>0){

y[i]=1 }else { y[i]=0 } }

结果如下(省略部分X值):

第二步,用Gibbs抽样的方法,对参数?进行估计:

#Gibbs抽样

library(EnvStats) #截尾正态包 library(MASS)#多元正态包 b1<-1 b2<-1

for(i in 2:5000){ for(j in 1:50){ if (y[j]==1){

z[j]<-rnormTrunc(1,x[j,]%*%c(b1[i-1],b2[i-1]),1,min=0,max=Inf) #截尾正态 }else if(y[j]==0){

z[j]<-rnormTrunc(1,x[j,]%*%c(b1[i-1],b2[i-1]),1,min=-Inf,max=0) } }

b<-mvrnorm(1,solve(t(x)%*%x)%*%t(x)%*%z,solve(t(x)%*%x)) #多元正态# solve()求逆,t()求转置 b1[i]<-b[1]

b2[i]<-b[2]

篇三:判别分析

判别分析在spss中的实现

一、 实验目的

掌握距离判别、贝叶斯判别、Fisher判别三种判别分析的原理,熟悉判别分析在SPSS中的实现,学会用MATLAB验证。

二、实验原理

一般判别分析是用于分类和预测的方法。其原理是利用已知对象的某些观测指标和所属类别,根据判别准则建立一个或多个判别函数,用研究对象的大量资料确定判别函数中特定系数,并计算判别指标,然后用总结出的判别规则确定未知对象属于哪一类。当描述研究对象的性质特征不全或不能直接测量数据确定研究对象所属类别时,可以通过判别分析进行归类。判别分析有很多种不同的方法,主要的有三种,包括距离判别,贝叶斯判别以及Fisher判别,下面是三种判别方法的实验原理: 1、 距离判别

距离判别对数据分布无严格要求。其基本思想是根据已知分类的数据,分别计算各类的重心(均值),判别准则是对任给的一次观测,若它与第i类的重心距离最近,就认为它来自第i类。假设有两个总体G1和G2,从

两个总体分别抽出n1和n2个样品,每个样品由P个指标x1,x2,???,xp 来描述。

现任取一样品x,判断x归为哪一类。首先,计算x到G1和G2总体的距离,

(x,G1)分别记为d,d(x,G2),按照距离最近准则判别归类,其数学模型可写成:

x?G1,若(dx,G1)<d(x,G2)

?

? ???

x?G2,若(dx,G1)>d(x,G2)待判, 若(dx,G1)=d(x,G2)

(x,G1)此时,若采用欧式距离进行计算,则可得出d和d(x,G2)的值,最后,(x,G1)比较d,d(x,G2)的大小,按照距离最近准则判别归类即可。

2、 贝叶斯判别

假定对所研究的对象已有一定的认识,常用先验概率来描述这种认识。 设有k个总体G1,G2,...,GK,它们的先验概率分别是q1,q2,..,qk(它们可以由经验给出也可以估出)。各总体的密度函数分别为:f1(x),f2(x),...,fk(x)(在离散情况下是概率函数),在观测到一个样品下的情况下,可用著名的

Bayes公式计算它来自第g个总体的后验概率:

p(g|x)?

qgfg(x)

?qf(x)

iii?1

k

,g?1,...,k

并且当 p(h|x)?maxp(g|x) 时,则判X来自第h总体。

1?g?k

3、 Fisher判别

基本原理 (1)W的确定 各类样本均值向量mi

样本类内离散度矩阵Si和总类内离散度矩阵

Si?

x?Xi

Sw

?(x?m

i

)(x?mi)T, i?1,2

Sw?S1?S2

样本类间离散度矩阵Sb

Sb?(m1?m2)(m1?m2)T

在投影后的一维空间中,各类样本均值mi'= WTmi。样本类内离散度和总类内离散度 Si' = WTSi W Sw' = WTSwW。样本类间离散度Sb' = WTSbW。 Fisher准则函数满足两个性质:

·投影后,各类样本内部尽可能密集,即总类内离散度越小越好。 ·投影后,各类样本尽可能离得远,即样本类间离散度越大越好。 根据这个性质确定准则函数,根据使准则函数取得最大值,可求出W:

W = Sw-1(m1 - m2) 。

(2)阈值的确定

实验中采取的方法:y0 = (m1' + m2') / 2。 (3)Fisher线性判别的决策规则

对于某一个未知类别的样本向量x,如果y=WT·x>y0,则x∈w1;否则x∈w2。

三、实验内容

某地区经勘探证明,A盆地为一个钾盐矿区,B盆地为一个钠盐(不含钾)矿区,其他盐盆地是否含钾有待判断。今从A和B两盆地各 取5个盐泉样本,从其他盆地抽取8个盐泉样本,其数据见下表,试对后8个待判盐泉进行钾判别。

四、实验步骤

1、输入数据;

2、选择[分析]->[分类]->[判别分析];

4、 选择分组变量为[组别]->[定义范围] -> [1]-[2];