《05列联表对数线性模型.ppt》由会员分享,可在线阅读,更多相关《05列联表对数线性模型.ppt(43页珍藏版)》请在三一办公上搜索。
1、列联表、c2检验和对数线性模型,三维列联表(关于某项政策调查所得结果:table7.sav),列联表,前面就是一个所谓的三维列联表(contingency table).这些变量中每个都有两个或更多的可能取值。这些取值也称为水平;比如收入有三个水平,观点有两个水平,性别有两个水平等。该表为322列联表在SPSS数据中,表就不和课本印的一样,收入的“低”、“中”、“高”用代码1、2、3代表;性别的“女”、“男”用代码0、1代表;观点“赞成”和“不赞成”用1、0代表。有些计算机数据对于这些代码的形式不限(可以是数字,也可以是字符串)。,Table7.sav 数据,列联表,列联表的中间各个变量不同水
2、平的交汇处,就是这种水平组合出现的频数或计数(count)。二维的列联表又称为交叉表(cross table)。列联表可以有很多维。维数多的叫做高维列联表。注意前面这个列联表的变量都是定性变量;但列联表也会带有定量变量作为协变量。,二维列联表的检验,研究列联表的一个主要目的是看这些变量是否相关。比如前面例子中的收入和观点是否相关。这需要形式上的检验,二维列联表的检验,下面表是把该例的三维表简化成只有收入和观点的二维表(这是SPSS自动转化的:Analyze-Descriptive Statistics-Crosstabs-.).,二维列联表的检验,对于上面那样的二维表。我们检验的零假设和备选假
3、设为H0:观点和收入这两个变量不相关;H1:这两个变量相关。这里的检验统计量在零假设下有(大样本时)近似的c2分布。当该统计量很大时或p-值很小时,就可以拒绝零假设,认为两个变量相关。实际上有不止一个c2检验统计量。包括Pearson c2统计量和似然比(likelihood ratio)c2统计量;它们都有渐近的c2分布。根据计算可以得到(对于这两个统计量均有)p-值小于0.001。因此可以说,收入高低的确影响观点。,Pearson c2统计量,似然比c2统计量,Oi代表第i个格子的计数,Ei代表按照零假设(行列无关)对第i格子的计数的期望值,二维列联表的检验,刚才说,这些c2统计量是近似的
4、,那么有没有精确的统计量呢?当然有。这个检验称为Fisher精确检验;它不是c2分布,而是超几何分布。对本问题,计算Fisher统计量得到的p-值也小于0.001。聪明的同学必然会问,既然有精确检验为什么还要用近似的c2检验呢?这是因为当数目很大时,超几何分布计算相当缓慢(比近似计算会差很多倍的时间);而且在计算机速度不快时,根本无法计算。因此人们多用大样本近似的c2统计量。而列联表的有关检验也和c2检验联系起来了。,Fisher精确检验,SPSS:Weight-Describ-crosstab-exact,table7.sav 其中有变量性别(sex)、观点(opinion)和收入(inco
5、me);每一列相应于其代表的变量的水平;每一行为一种水平的组合(共有23212种组合(12行),而每种组合的数目(也就是列联表中的频数)在number那一列上面,这就是每种组合的权重(weight),需要把这个数目考虑进去,称为加权(weight).如果不加权,最后结果按照所有组合只出现一次来算(也就是说,按照列联表每一格的频数为1).由于在后面的选项中没有加权的机会,因此在一开始就要加权.方法是点击图标中的小天平(“权”就是天平的意思),出现对话框之后点击Weight cases,然后把“number”选入即可。,二维列联表情况加权之后,按照次序选AnalyzeDescriptive Sta
6、tisticsCrosstabs。在打开的对话框中,把opinion和income分别选入Row(行)和Column(列);至于哪个放入行或哪个放入列是没有关系的。如果要Fisher精确检验则可以点Exact,另外在Statistics中选择Chi-square,以得到c2检验结果。最后点击OK之后,就得到有关Pearson c2统计量、似然比c2统计量以及Fisher统计量的输出了(这里的Sig就是p-值)。,加权:,下面为SPSS对于table7.savs数据产生的下面二维列联表相关分析的输出,利用crosstabs处理三维列联表问题的SPSS选项,利用crosstabs处理三维列联表问题
7、的输出,利用crosstabs处理三维列联表问题的输出,利用crosstabs处理三维列联表问题的输出,高维列联表和(多项分布)对数线性模型,前面例子原始数据是个三维列联表,对三维列联表的检验也类似。但高维列联表在计算机软件的选项可有所不同,而且可以构造一个所谓(多项分布)对数线性模型(loglinear model)来进行分析。利用对数线性模型的好处是不仅可以直接进行预测,而且可以增加定量变量作为模型的一部分。,对数线性模型,现在简单直观地通过二维表介绍一下对数线性模型,假定不同的行代表第一个变量的不同水平,而不同的列代表第二个变量的不同水平。用mij代表二维列联表第i行,第j列的频数。人们
8、常假定这个频数可以用下面的公式来确定:,这就是所谓的多项分布对数线性模型。这里ai为行变量的第i个水平对ln(mij)的影响,而bj为列变量的第j个水平对ln(mij)的影响,这两个影响称为主效应(main effect)。,(多项分布)对数线性模型,这个模型看上去和回归模型很象,但由于对于分布的假设不同,不能简单地用线性回归的方法来套用(和Logistic回归类似);计算过程也很不一样。当然我们把这个留给计算机去操心了。只要利用数据来拟合这个模型就可以得到对于ai和bj的“估计”。有了估计的参数,就可以预测出任何i,j水平组合的频数mij了(通过其对数)。注意,这里的估计之所以打引号是因为一
9、个变量的各个水平的影响是相对的,因此,只有事先固定一个参数值(比如a1=0),或者设定类似于Sai=0这样的约束,才可能估计出各个的值。没有约束,则这些参数是估计不出来的。,(多项分布)对数线性模型,二维列联表的更完全的对数线性模型为,这里的(ab)ij代表第一个变量的第i个水平和第二个变量的第j个水平对ln(mij)的共同影响(交叉效应)。即当单独作用时,每个变量的一个水平对ln(mij)的影响只有ai(或bj)大,但如果这两个变量一同影响就不仅是ai+bj,而且还多出一项。这里的交叉项的诸参数的大小也是相对的,也需要约束条件来得到其“估计”;涉及的变量和水平越多,约束也越多。,注意,无论你
10、对模型假定了多少种效应,并不见得都有意义;有些可能是多余的。本来没有交叉影响,但如果写入,也没有关系,在分析过程中一般可以知道哪些影响是显著的,而那些是不显著的。,两种对数线性模型,前面介绍的多项分布对数线性模型假定所有的可能格子里面的频数满足多项分布。另一类为Poisson对数线性模型.它假定每个格子里面的频数满足一Poisson分布(后面再介绍).统计软件的选项中有关于分布的选项高维表的检验统计量和二维表一样也包含了Pearson c2统计量和似然比c2统计量。,用table7.sav数据拟合对数线性模型,假定(多项分布)对数线性模型为,这里ai为收入(i=1,2,3代表收入的低、中、高三
11、个水平),bj为观点(j=1,2代表不赞成和赞成两个水平),gk为性别(k=1,2代表女性和男性两个水平),mijk代表三维列联表对于三个变量的第ijk水平组合的出现次数。而从相应的参数估计输出结果,可以得到对ai的三个值的估计为0.5173,0.2549,0.0000,对bj的两个值的估计为-0.6931,0.0000,对gk的两个值的估计为 0.1139,0.0000。(多项对数线性模型常数无意义,输出的常数项仅仅是数学意义),SPSS输出,就这里的三维列联表问题,如只考虑各个变量单独的影响,而不考虑变量组合的综合影响,其SPSS输出的Pearson c2统计量和似然比c2统计量得到的p-
12、值分别为0.0029和0.0011。,SPSS输出,SPSS的实现,数据table7.sav 假定已经加权(加权一次并存盘了既可)这时的选项为AnalyzeLoglinearGeneral,首先选择格子中频数的分布,这里是多项分布(其默认值是Poisson对数线性模型).然后把三个变量(sex,opinion,income)选入Factors(因子);再选Model(模型),如果选Saturated(饱和模型),那就是所有交叉效应都要放入模型;但如果不想这样,可以选Custom(自定义),在Building Terms(构造模型的项)选Main effect(主效应),再把三个变量一个一个地选
13、进来(如果两个或三个一同选入,等于选入交叉效应).如果想要知道模型参数,在Options中选择Estimates。最后Continue-OK即可得出结果.在计算机输出的结果中可以找到我们感兴趣的结果。如果SPSS的Viewer输出不完全,可以选中不完全的输出,利用Edit-Copy Objects来复制到例如记事本那样的文件中,就可以看到完整输出了,Poison对数线性模型,有的时候,类似的高维表并不一定满足多项分布对数线性模型。下面看一个例子。这是关于哮喘病人个数和空气污染程度,年龄和性别的数据(asthma.sav)后面表格为某地在一段时间记录的60组在不同空气污染状态的不同年龄及不同性别
14、的人的发生哮喘的人数。其中性别为定性变量S(sex,1代表女性,2代表男性),空气污染程度P也是定性变量(polut,1、2、3分别代表轻度、中度和严重污染),年龄A(age)为定量变量,为那一组人的平均年龄;还有一列计数C(count)为这一组的哮喘人数。这个表格和前面的列联表的不同点在于每一格的计数并不简单是前面三个变量的组合的数目(某个年龄段,某种性别及某种污染下的人数),而是代表了某个年龄段,某种性别及某种污染下发生哮喘的人数。,Poisson对数线性模型简介在某些固定的条件下,人们认为某些事件出现的次数服从Poisson分布,比如在某一个时间段内某种疾病的发生病数,显微镜下的微生物数
15、,血球数,门诊病人数,投保数,商店的顾客数,公共汽车到达数,电话接通数等等.然而,条件是不断变化的.因此,所涉及的Poisson分布的参数也随着变化.,Poisson对数线性模型,假定哮喘发生服从Poisson分布;但是由于条件不同,Poisson分布的参数l也应该随着条件的变化而改变。这里的条件就是给出的性别、空气污染程度与年龄。当然,如何影响以及这些条件影响是否显著则是我们所关心的。这个模型可以写成,这里m为常数项,ai为性别(i=1,2分别代表女性和男性两个水平),bj为空气污染程度(j=1,2,3代表低、中高三个污染水平),x为连续变量年龄,而g为年龄前面的系数,eij为残差项。,Po
16、isson对数线性模型,从对于数据(asthma.sav)的Poisson对数线性模型的相应SPSS输出,可以得到对m的估计为4.9820,对ai的两个值的“估计”为-0.0608、0.0000,对bj的三个值的“估计”为-0.1484,0.1223、0.0000,对g的估计为 0.0126。注意,这里的对主效应aI和bj的估计只有相对意义;它们在一个参数为0的约束条件下得到的。从模型看上去,年龄和性别对哮喘影响都不那么重要。轻度污染显然比中度污染和严重污染哮喘要好。但是似乎严重污染时哮喘稍微比中度污染少些(差别不显著)。通过更进一步的分析(这里不进行),可以发现,中度和严重空气污染(无论单独
17、还是一起)和轻度空气污染比较都显著增加哮喘人数,而中度及严重污染时的哮喘人数并没有显著区别。,数据(asthma.sav),m=read.table(d:/booktj1/data/asthma.txt)names(m)=c(Sex,Polution,Age,Count)attach(m)a=glm(CountSex+Polution+Age,family=poisson)Sex=factor(Sex);Polution=factor(Polution)a=glm(CountSex+Polution+Age,family=poisson)summary(a),数据(asthma.sav)m=r
18、ead.table(d:/booktj1/data/asthma.txt),Call:glm(formula=Count Sex+Polution+Age,family=poisson)Deviance Residuals:Min 1Q Median 3Q Max-1.7901-0.6700-0.0651 0.6093 1.5848 Coefficients:Estimate Std.Error z value Pr(|z|)(Intercept)1.730712 0.140238 12.341 2e-16*Sex2 0.023926 0.090543 0.264 0.7916 Polutio
19、n2 0.297465 0.112353 2.648 0.0081*Polution3 0.174346 0.115519 1.509 0.1312 Age 0.004407 0.002333 1.889 0.0589.-Signif.codes:0*0.001*0.01*0.05.0.1 1(Dispersion parameter for poisson family taken to be 1)Null deviance:56.577 on 59 degrees of freedomResidual deviance:45.772 on 55 degrees of freedomAIC:
20、289.41Number of Fisher Scoring iterations:4,SPSS的实现,数据asthma.sav 假定已经加权 这时的选项为AnalyzeLoglinearGeneral,首先选择格子中频数的分布,这里是Poisson分布。然后把两个变量(sex,polut)选入Factors(因子),把age选入Cell Covariate(s)。再选Model(模型),这里以选Custom(自定义),在Building Terms(构造模型的项)选Main effect(主效应),再把三个变量一个一个地选进来。如果想要知道模型参数,在Options中选择Estimates。
21、最后Continue-OK即可得出结果。在结果中可以找到有关Pearson c2统计量和似然比c2统计量的检验结果及参数的估计(如果SPSS的Viewer输出不完全,可以选中不完全的输出,利用Edit-Copy Objects来复制到例如记事本那样的文件中,就可以看到完整输出了)。,数据(acc2.txt,acc2sas.txt,acc2.sav),m=read.table(d:/booktj1/data/acc2.txt,header=T)attach(m);Machine=factor(Machine);Person=factor(Person)a=glm(IncidentsTime+Ma
22、chine+Person,family=poisson)summary(a),数据(acc2.txt,acc2sas.txt,acc2.sav),summary(a)Call:glm(formula=Incidents Time+Machine+Person,family=poisson)Deviance Residuals:Min 1Q Median 3Q Max-2.1602-0.6987-0.1291 0.5286 2.5223 Coefficients:Estimate Std.Error z value Pr(|z|)(Intercept)-0.655345 0.385525-1.7
23、00 0.089154.Time 0.005937 0.001662 3.571 0.000355*Machine2 0.416216 0.176388 2.360 0.018291*Person2 0.143591 0.176933 0.812 0.417047-Signif.codes:0*0.001*0.01*0.05.0.1 1(Dispersion parameter for poisson family taken to be 1)Null deviance:85.214 on 59 degrees of freedomResidual deviance:68.375 on 56 degrees of freedomAIC:215.32,思考:列联表与Poisson对数线性模型,以及后面要介绍的试验设计的数据表有什么区别?,