统计学
─从数据到结论
第八章
列联表、c2检验和对数线性模型
三维列联表
(关于某项政策调查所得结果:)
观点:赞成 观点:不赞成
低收
入
中等收
入
高收
入
低收
入
中等收
入
高收
入
男 20 10 5 5 8 10
女 25 15 7 2 7 9
列联表
前面就是一个所谓的三维列联表
(contingency table).
这些变量中每个都有两个或更多的可能取
值。这些取值也称为水平;比如收入有三
个水平,观点有两个水平,性别有两个水
平等。该表为3×2×2列联表
在下面SPSS数据中,表就和上面的不同,
收入的“低”、“中”、“高”用代码1、
2、3代表;性别的“女”、“男”用代码0、
1代表;观点“赞成”和“不赞成”用1、0
代表。有些计算机数据对于这些代码的形
式不限(可以是数字,也可以是字符串)。
列联表
列联表的中间各个变量不同水平的交
汇处,就是这种水平组合出现的频数
或计数(count)。
二维的列联表又称为交叉表(cross
table)。
列联表可以有很多维。维数多的叫做
高维列联表。
注意前面这个列联表的变量都是定性
变量;但列联表也会带有定量变量作为
协变量。
二维列联表的检验
研究列联表的一个主
要目的是看这些变量
是否相关。比如前面
例子中的收入和观点
是否相关。
这需要形式上的检验
二维列联表的检验
下面表是把该例的三维表简化成只有收入
和观点的二维表(这是SPSS自动转化的
:Analyze-Descriptive Statistics-
Crosstabs-…..).
二维列联表的检验
对于上面那样的二维表。我们检验的
零假设和备选假设为
H
0
:观点和收入这两个变量不相关;H
1
:
这两个变量相关。
这里的检验统计量在零假设下有(大
样本时)近似的c2分布。
当该统计量很大时或p-值很小时,就
可以拒绝零假设,认为两个变量相关。
二维列联表的检验
实际上有不止一个c2检验统计量。包括
Pearson c2统计量和似然比
(likelihood ratio)c2统计量;它们
都有渐近的c2分布。
对于我们的数据,根据计算可以得到
(对于这两个统计量均有)p-值小于
。因此可以说,收入高低的确影
响观点。
Pearson c2统计量
似然比c2统计量
二维列联表的检验
刚才说,这些c2统计量是近似的,
那么有没有精确的统计量呢?
当然有。这个检验称为Fisher精确
检验;它不是c2分布,而是超几何
分布。
对本问题,计算Fisher统计量得到
的p-值也小于。
Fisher精确检验的又一例子
二维列联表的检验
聪明的同学必然会问,既然有精确检
验为什么还要用近似的c2检验呢?
这是因为当数目很大时,超几何分布
计算相当缓慢(比近似计算会差很多
倍的时间);而且在计算机速度不快
时,根本无法计算。因此人们多用大
样本近似的c2统计量。而列联表的有关
检验也和c2检验联系起来了。
具体运算:先加权,加权之后,按照次序选
Analyze-Descriptive Statistics-Crosstabs。
在打开的对话框中,把opinion和income分别选入
Row(行)和Column(列);至于哪个放入行或
哪个放入列是没有关系的。
如果要Fisher精确检验则可以点Exact,另外在
Statistics中选择Chi-square,以得到c2检验结果。
最后点击OK之后,就得到有关Pearson c2统计量、
似然比c2统计量以及Fisher统计量的输出了(这里
的Sig就是p-值)。
下面就是SPSS计算机对于这个问题的输出
高维列联表和(多项分布)对数线性模型
前面例子原始数据是个三维列联表,
其检验和对两维类似。
但高维列联表在计算机软件的选项
上有所不同,而且可以构造一个所
谓(多项分布)对数线性模型
(loglinear model)来进行分析。
利用对数线性模型的好处是不仅可
以直接进行预测,而且可以增加定
量变量作为模型自变量的一部分。
对数线性模型
现在简单直观地通过二维表介绍一下对数线性模
型,假定不同的行代表第一个变量的不同水平,
而不同的列代表第二个变量的不同水平。用mij
代表二维列联表第i行,第j列的频数。人们常假
定这个频数可以用下面的公式来确定:
这就是所谓的对数线性模型。这里ai为行变量的
第i个水平对ln(mij)的影响,而bj为列变量的第j个
水平对ln(mij)的影响,这两个影响称为主效应
(main effect);eij代表随机误差。
(多项分布)对数线性模型
该模型看上去和回归模型很象,但由
于分布假设不同,不能简单地用线性
回归的方法来套用(和Logistic回归类
似);计算过程也很不一样(把这个留
给计算机去操心)。只要利用数据来拟
合这个模型就可以得到对于参数m的估
计(没有意义),以及ai和bj的“估计”。
有了估计的参数,就可以预测出任何i
,j水平组合的频数m
ij
了(通过对数)
(多项分布)对数线性模型
注意,这里的估计之所以打引号是
因为一个变量的各个水平的影响是
相对的,
只有事先固定一个参数值(比如
a1=0),或者设定类似于Sai=0这样的
约束,才可能估计出各个的值。
没有约束,这些参数是估计不出来
的。
(多项分布)对数线性模型
二维列联表的更完全的对数线性模型为
•这里的(ab)ij代表第一个变量的第i个水平
和第二个变量的第j个水平对ln(mij)的共同
影响,称为交叉效应。即当单独作用时,
每变量的某水平对ln(mij)的影响只有ai(或
bj)大,但如这两个变量共同影响就不仅是
ai+bj,而且还多出一项。
•这里的交叉项的诸参数的大小也是相对的,
也需要约束条件来得到其“估计” 。
用数据拟合对数线性模型
假定(多项分布)对数线性模型为
• 这里ai为收入(i=1,2,3代表收入的低、中、高三
个水平),bj为观点(j=1,2代表不赞成和赞成两
个水平),gk为性别(k=1,2代表女性和男性两个
水平), mijk代表三维列联表对于三个变量的第
ijk水平组合的出现次数,eijk为残差
• 而从相应的参数估计输出结果,可以得到对a
i
的
三个值的估计为, ,,对b
j
的
两个值的估计为,,对g
k
的两个值
的估计为 ,。(多项对数线性模型
无常数项)
对数线性模型
高维表的检验统计量和二维表一样
也包含了Pearson c2统计量和似然
比c2统计量, 检验对数线性模型拟
合的好坏程度的。
就我们这里的三维列联表问题,如
果只考虑各个变量单独的影响,而
不考虑变量组合的综合影响,计算
机输出的Pearson c2统计量和似然
比 c2统 计 量 得 到 的 p-值 分 别 为
和。
多项分布对数线性模型的SPSS实现
[数据] 假定已经加权 (加权一次并存盘了既
可)
这时的选项为Analyze-Loglinear-General,
首先选择格子中频数的分布,这里是多项分布 (其默认
值是Poisson对数线性模型).
然后把三个变量(sex,opinion,income)选入Factors(因
子);
再选Model(模型),如果选Saturated(饱和模型),那就
是所有交叉效应都要放入模型;但如果不想这样,可以选
Custom(自定义),在Building Terms(构造模型的项)选
Main effect(主效应),再把三个变量一个一个地选进来
(如果两个或三个一同选入,等于选入交叉效应).
如果想要知道模型参数,在Options中选择Estimates。
最后Continue-OK即可得出结果.
在计算机输出的结果中可以找到我们感兴趣的结果。
如果SPSS的Viewer输出不完全,可以选中不完全的输
出,利用Edit-Copy Objects来复制到例如记事本那样
的文件中,就可以看到完整输出了
注意,无论你对模型假定了多少
种效应,并不见得都有意义;有
些可能是多余的。本来没有交叉
影响,但如果写入,也没有关系,
在分析过程中一般可以知道哪些
影响是显著的,而那些是不显著
的。然后可决定舍取变量。
另一种对数线性模型
常用的对数线性模型主要是两种,
我们已经介绍了多项分布对数线性
模型(格子里面的频数满足多项分
布)。
另一类为Poisson对数线性模型.它
假定每个格子里面的频数满足一个
Poisson分布.
在统计软件的选项中会有关于分布
的选项的。
Poison对数线性模型
有的时候,类似的高维表并不一定满足多项分布对数线性模型。
下面例子是关于哮喘病人个数和空气污染程度,年龄和性别的
数据()
数据为某地在一段时间记录下来的60组在不同空气污染状态的
不同年龄及不同性别的人的发生哮喘的人数。
Poison对数线性模型
其中性别为定性变量S(sex, 1代表女性,
2代表男性),
空气污染程度P也是定性变量(polut, 1、2、
3分别代表轻度、中度和严重污染),
年龄A (age)为定量变量,为那一组人的平
均年龄;
数目C (count)为相应组的哮喘人数。
该表格和前面的列联表的不同点在于每一
格的计数并不简单是前面三个变量的组合
的数目(某个年龄段,某种性别及某种污
染下的人数),而是代表了某个年龄段,
某种性别及某种污染下发生哮喘的人数。
Poisson对数线性模型
假定哮喘发生服从Poisson分布;但是由于条件
不同,Poisson分布的参数l也应该随着条件的变
化而改变。这里的条件就是给出的性别、空气污
染程度与年龄。当然,如何影响以及这些条件影
响是否显著则是我们所关心的。这个模型可以写
成
• 这里m为常数项,a
i
为性别(i=1,2分别代
表女性和男性两个水平),b
j
为空气污染
程度(j=1,2,3代表低、中高三个污染水平)
,x为连续变量年龄,而g为年龄前面的系
数,e
ij
为残差项。
Poisson对数线性模型
从 对 于 数 据 ()的
Poisson对数线性模型的相应SPSS
输出,可以得到对m的估计为
,对 a
i
的两个值的 “估计 ”为-
、 ,对b
j
的三个值的
“估 计 ”为 , 、
,对g的估计为 。
注意,这里的对主效应a
I
和b
j
的估
计只有相对意义;它们在一个参数
为0的约束条件下得到的。
Poisson对数线性模型
看来,年龄和性别对哮喘影响不很显
著。轻度污染显然比中度污染和严重
污染哮喘要好。但是似乎严重污染时
哮喘稍微比中度污染少些(不显著)。
通过更进一步的分析(这里略),可以
发现,中度和严重空气污染(无论单
独还是一起)和轻度空气污染比较都
显著增加哮喘人数,而中度及严重污
染时的哮喘人数并没有显著区别。
Poisson对数线性模型的SPSS实现
[数据] 假定已经加权
这时的选项为Analyze-Loglinear-General,
首先选择格子中频数的分布,这里是Poisson分布。
然后把两个变量(sex,polut)选入Factors(因子),
把age选入Cell Covariate(s)。
再选Model(模型),这里以选Custom(自定义),
在Building Terms(构造模型的项)选Main effect
(主效应),再把三个变量一个一个地选进来。
如果想要知道模型参数,在Options中选择Estimates。
最后Continue-OK即可得出结果。
在结果中可以找到有关Pearson c2统计量和似然比c2统
计量的检验结果及参数的估计(如果SPSS的Viewer输
出不完全,可以选中不完全的输出,利用Edit-Copy
Objects来复制到例如记事本那样的文件中,就可以看
到完整输出了)。
思考:列联表与
Poisson对数线性模型,
以及后面要介绍的试验
设计的数据表有什么区
别?
Fisher精确检验一例
SPSS: Weight-Describ-crosstab-exact…
返回
[] 其中有变量性别(sex)、观点
(opinion)和收入(income);每一列相应于其代表
的变量的水平;每一行为一种水平的组合(共有
2×3×2=12种组合(12行),
而每种组合的数目(也就是列联表中的频数)在
number那一列上面,这就是每种组合的权重
(weight),需要把这个数目考虑进去,称为加权
(weight).如果不加权,最后结果按照所有组合只
出现一次来算(也就是说,按照列联表每一格的频
数为1).由于在后面的选项中没有加权的机会,因此
在一开始就要加权.方法是点击图标中的小天平(“
权”就是天平的意思),出现对话框之后点击
Weught cases,然后把“number”选入即可。返回