第十七章 多项反应模型
(见:余松林主编. 医学统计学(七年制规划教材). 北京:人民卫生出版社,2002,p220~231)
作者:宇传华
前一章的反应变量取值仅有两个,为二项反应变量(或二分类变量)。但在医学研究中常常会遇到结果反应变量为多项分类的情况。根据类别之间有无大小顺序关系,多项反应分为名义和有序两类。医院住院者分为工人、农民、军人、学生、商人、知识分子等,心理疾病分为精神分裂症、抑郁症、神经官能症等,一般认为它们的排列无大小顺序关系,为名义变量(nominal
variables);疗效评价分为无效、好转、显效、痊愈,损伤严重程度分为无、轻度、中度、重度,它们的排列有大小顺序关系,为有序变量(ordinal
variables)。
对于多项分类反应结果的资料,如果采用合并分类成两类的方式,再直接利用上一章的一般Logistic回归模型进行分析,可能会失去一些有用信息,导致统计效能的降低。Armstrong 和Sloan(1989)经模拟试验发现,对于多项有序反应资料,采用一般的二项Logistic回归模型,而不是下面介绍的累积Logit模型,只能获得50~70%的的检验效能。此外,在很多情况下,专业上并不允许类别间的这种合并。
本章先介绍适合名义反应变量的多项反应Logit模型,紧接着介绍适合有序反应变量的累积Logit模型,并对相继比Logit模型和相邻类别Logit模型作简单介绍。
第一节 多项反应Logit模型
一、模型的结构
将名义反应变量记为
,共有
个类别,令第
(
)类的概率分别为
,并满足
。基于这些概率,n个独立观察对象分配到各自的类别中,观察对象在
个类别中的分布服从多项概率分布。当
时,多项分布即等价于上一章的二项分布。
令解释变量(即自变量)为
,象上一章一样,解释变量可以是分类变量,也可以是连续型变量。用
与
分别表示第
类的常数项与解释变量参数,多项反应Logit模型(polytomous logit model)可表示为:
,
(17-1)
该式是以最后一类(
)为基线(基线的选择是任意的,也可选择其它类别),每个反应类别
与基线类别
间建立的模型,因此这种模型也称为基线分类Logit模型(baseline-category
logits model)。这种模型需要同时估计
个二项反应Logit,应用范围广,灵活性大,也称为广义Logit模型(generalized
logit model)。
该式左侧是相对于类别J,反应类别j的对数优势。模型由
个具有各自参数的Logit 等式组成,即效应随反应类别与基线的不同而有所改变。当J=2时,模型只有一个等式,即等价于上一章所介绍的具有二项反应的一般Logistic回归模型,模型左侧为
。当J=3时,模型将有2个等式,Logit等式的左侧将分别是
和
。
二、其它两两类别间的参数估计
其它两两类别之间的Logit等式的参数,可由式(17-1)获得的
个等式的参数决定。例如,对于任意选定的两个类别a和b,它们与基线类别
对应的等式参数分别记为
和
,则有

![]()
(17-2)
即类别a与b的Logit等式有常数项为
,解释变量的参数为
。
三、反应变量的概率
也可直接用名义反应变量的概率表示多项反应Logit模型为:
,
(17-3)
对于每一类别
的反应概率
,式(17-3)的分母相同,且等于每个类别
的分子之和,所以有
。无论以那一类别为基线,基线对应的参数为0,如式(17-1)以最后一个类别
为基线,有
。对于类别
,Logit等式
对应的参数为
。
四、实例
例17-1 某市2001年4月对各级医疗机构的门诊服务作了抽样调查,不同级别医疗机构的医药费支付方式所占人数及其构成比(括号内)见表17-1,试分析各级医疗机构的医药费支付方式有什么不同?
表17-1 某市不同级别医疗机构的医药费支付方式
|
医疗机构 |
医药费支付方式( |
|
|||||||||||||||
|
( |
公费(1) |
自费(2) |
劳保(3) |
保险(4) |
其它(5) |
|||||||||||
|
一级(1) |
638 |
(0.313) |
1063 |
(0.521) |
280 |
(0.137) |
25 |
(0.012) |
34 |
(0.017) |
|
||||||
|
二级(2) |
615 |
(0.340) |
856 |
(0.473) |
289 |
(0.160) |
23 |
(0.013) |
27 |
(0.015) |
|
||||||
|
三级(3) |
1127 |
(0.358) |
1359 |
(0.432) |
498 |
(0.158) |
81 |
(0.026) |
81 |
(0.026) |
|
||||||
解:该例的医疗费支付方式按公费、自费、劳保、保险和其它分为5类,可认为它们无大小顺序关系,属于
的名义反应变量,记为
。解释变量
为分类变量,为了简便起见,对一、二、三级医院分别赋值为1、2、3。注意:如果分类变量无大小顺序关系,则必须哑变量化。表中每级医院的几种医药费支付方式构成比之和为1,如一级医疗机构有
。从其构成比我们可初步看出医院级别越高,公费人员比例越大,而自费比例越低。
本例通过计算构成比,及采用列联表
检验方法进行分析,基本上可达到分析的目的,这里采用这个例子,主要是为了简单介绍多项反应Logit模型。
利用SAS的CATMOD过程可拟合多项反应Logit模型。对于表17-1资料,利用SAS程序17-1拟合式(17-1)模型,得到了
个Logit等式的最大似然参数估计值及其标准误,还有对每个参数的Wald卡方检验结果(见表17-2)。
表17-2 多项反应Logit模型的参数及其假设检验
|
变量名 |
参数 |
标准误
|
|
|
|
|
Intercept |
3.2407 |
0.2638 |
150.92 |
<.0001 |
|
|
(常数项) |
3.9059 |
0.2615 |
223.03 |
<.0001 |
|
|
|
2.4420 |
0.2714 |
80.94 |
<.0001 |
|
|
|
-0.4954 |
0.3909 |
1.61 |
0.2050 |
|
X
|
-0.1858 |
0.1072 |
3.00 |
0.0831 |
0.8304 |
|
|
-0.3465 |
0.1064 |
10.60 |
0.0011 |
0.7072 |
|
|
-0.1875 |
0.1106 |
2.87 |
0.0901 |
0.8290 |
|
|
0.1676 |
0.1556 |
1.16 |
0.2814 |
1.1825 |
表中
分别表示参数
的估计值。根据以上结果,四个Logit等式可分别表示为:
; ![]()
; ![]()
根据式(17-2),可得到相对于自费,公费的对数优势,即
。
其余同理可得:
;![]()
;![]()
![]()
对于每个Logit等式的解释与一般二分类Logistic回归模型相同,如Logit等式
表示,相对于自费,医疗机构的级别每增加一级,医药费支付方式为公费的优势比增加
倍(本例假定相邻医疗机构级别间优势比相等);即与自费相比较,医院的级别越高,公费人员构成比相对较大。
为了检验模型的拟合优度,SAS程序的CATMOD过程提供了似然比(Likelihood
Ratio)检验,计算得
5.87,n=4,
,说明模型拟合尚可;检验医药费支付方式与医疗机构的级别间有无关系,即检验
:
=0,
,由程序得
50.65,n=4,
(SAS输出结果见下表),说明医药费支付方式与医疗机构的级别有关。
最大似然方差分析表
|
来源
自由度
截距
4
598.41
<.0001 x
4
50.65
<.0001 似然比
4 5.87
0.2088 |
根据式(17-3)及表17-2可得到公费、自费、其它的估计概率分别是:
![]()
![]()
同理可获得其它医药费支付方式的概率估计值
、
。以上概率公式中,分母中的1和
分子中的1,均代表基线的
,其中
,
。以上五个概率之和等于1。令
分别为1、2、3,利用以上的五个预报概率
,可得医疗机构的各支付方式预报概率值(见表17-3)。表中列出了预报概率与实际观察构成比(括号内),比较每个格子的这两个值,可进一步看出该模型拟合较好。
表17-3 预报概率与观察构成比(见括号内)
|
医疗机构 |
医药费支付方式 |
|||||||||
|
|
公费 |
自费 |
劳保 |
保险 |
其它 |
|
||||
|
一级 |
0.314 |
(0.313) |
0.520 |
(0.521) |
0.141 |
(0.137) |
0.011 |
(0.012) |
0.015 |
(0.017) |
|
二级 |
0.337 |
(0.340) |
0.476 |
(0.473) |
0.151 |
(0.160) |
0.016 |
(0.013) |
0.019 |
(0.015) |
|
三级 |
0.359 |
(0.358) |
0.431 |
(0.432) |
0.166 |
(0.158) |
0.025 |
(0.026) |
0.025 |
(0.026) |
例17-2 对于两种结膜炎,分别设立试验组与对照组采用不同的方法进行治疗,一周后观察其疗效,观察结果列于表17-4。试采用多项反应Logit模型比较不同疾病的不同组治疗效果。
表17-4 1周后的疗效观察结果及模型拟合值(括号内)
|
疾病类型 ( |
组别 ( |
疗效( |
||
|
治愈 |
好转 |
无效 |
||
|
急性细菌性结膜炎 |
试验组 |
22(23.30) |
4 ( 4.23) |
2 ( 0.48) |
|
对照组 |
8 ( 6.70) |
16(15.77) |
4 ( 5.52) |
|
|
流行性角膜结膜炎 |
试验组 |
21(19.70) |
7 ( 6.77) |
2 ( 3.52) |
|
对照组 |
1 ( 2.30) |
10(10.23) |
18(16.48) |
|
解:以疗效为反应变量
,治愈、好转、无效分别记为
;疾病类型记为
,
1表示急性细菌性结膜炎,
0表示流行性角膜结膜炎;治疗组别记为
,
=1表示试验组,
=0表示对照组;以“无效”作为基线类别可建立多项反应Logit模型为:
,
,
(17-4)
式中
与
分别表示
与
的参数。该模型假定
与
间无交互效应。
仿SAS程序17-1,得拟合优度检验的似然比(likelihood
ratio)统计量
=5.41, n=2,P=0.0667
,说明模型拟合尚可。SAS程序也给出了每个解释变量参数是否对模型有意义的检验结果,如检验
的系数是否为0,即检验
:
=0,j=1,2,有
=33.14,n=2,P<0.0001,说明
对模型有较大作用。
参数的估计值、标准误及参数的Wald卡方检验结果见表17-5。
表17-5 表17-4资料的多项反应Logit模型的参数估计
|
变量名 |
参数
|
标准误[ |
|
|
|
|
Intercept |
-1.9712 |
0.5648 |
12.18 |
0.0005 |
|
|
(常数项) |
-0.4770 |
0.3823 |
1.56 |
0.2121 |
|
|
X1 |
2.1652 |
0.6788 |
10.18 |
0.0014 |
8.7163 |
|
|
1.5265 |
0.5867 |
6.77 |
0.0093 |
4.6020 |
|
X2 |
3.6930 |
0.7279 |
25.74 |
<.0001 |
40.1652 |
|
|
1.1308 |
0.6795 |
2.77 |
0.0961 |
3.0981 |
表中
表示第j类的参数估计值,
表示第i个自变量第j类的参数估计值。由以上结果可见,一定的治疗组别,急性细菌性结膜炎反应为治愈而不是无效的优势是流行性角膜结膜炎的
=8.72倍;一定的疾病类型,试验组反应为治愈而不是无效的优势是对照组的
=40.17倍。
该资料的预报概率可按式(17-3)计算。此外还可利用表17-4中观察频数的模型拟合值(SAS程序17-1的MODEL语句后加选项“pred=freq”获得)计算。如急性细菌性结膜炎的试验组治愈的预报概率为
。
第二节 有序反应变量的累积Logit模型
实例17-2的疗效分类为治愈、好转、无效,属于有序反应变量,尽管以上利用多项反应Logit模型进行了分析,也获得了较好的结果,但以上模型并没有考虑反应变量的有序性质,本节要介绍的累积Logit模型(cumulative logit
model)能有效地考虑反应变量的大小顺序关系,其结果解释也相对简单。
一、累积Logit模型的结构
将有序反应变量记为
,共有
个类别,令第
(
)类的概率分别为
,并满足
。令解释变量(即自变量)为
,
可以是连续的,也可以是分类的,还可以是连续和分类的混合。用
与
分别表示第
类的常数项与自变量的系数,则累积Logit模型可表示为:
,
(17-5)
对于每个可能的类别
,反应变量
的概率就是累积概率,第
分类的累积概率是:
, ![]()
累积概率具有
的顺序。因为在任何情况下都有
,所以累积概率模型只考虑
个Logit等式。排在前面的
个累积Logit可表示为:
,
![]()
以上的
个累积Logit的每一个均采用了所有
个反应类别。第
个累积Logit就象是一个一般二项反应的Logit模型,其中第1至第j类合并为1类,而第
至第
类又合并成另一类,换句话说就是将原来的多项分类反应通过合并转变成了一般的二项分类反应。例如,当
时,有2 个累积Logit分别为
和
也可用累积概率表示累积Logit模型为:
,
(17-6)
二、实例
例17-3 采用胆麻片和江剪刀草合剂两种药物治疗慢性支气管炎,其治疗效果分为治愈、疗效显著、稍有好转、无效4类,每种药物不同疗效的病人频数分布情况见表17-6,试采用累积Logit模型分析不同药物的疗效。
表17-6 治疗慢性支气管炎的疗效的观察频数与拟合值(括号内)
|
药物 |
疗 效 |
合 计 |
|||
|
治愈 |
疗效显著 |
稍有好转 |
无效 |
||
|
胆麻片 |
13 ( 3.0) |
21 ( 36.0) |
51 ( 45.7) |
9 (9.3) |
94 |
|
江剪刀草合剂 |
30(40.2) |
670(656.6) |
1870(1870.6) |
760(762.6) |
3330 |
解:令疗效反应变量为
,治愈、疗效显著、稍有好转、无效分别记为
,令
为药物哑变量,
=1为麻胆片,
=0为江剪刀草合剂。利用SAS 的LOGISTIC过程可获得累积Logit模型参数的最大似然估计值。对于表17-6资料,利用SAS程序17-2所获得的主要结果见表17-7。
表17-7 累积Logit模型的参数最大似然估计值
|
变量名 |
参数
|
标准误
|
|
|
|
|||
|
Intercept1 |
-4.4042 |
|
0.1536 |
|
822.3390 |
<0.0001 |
|
|
|
Intercept2 |
-1.3293 |
|
0.0424 |
|
981.4027 |
<0.0001 |
|
|
|
Intercept3 |
1.2188 |
|
0.0412 |
|
877.2358 |
<0.0001 |
|
|
X
|
0.9856 |
|
0.1999 |
|
24.3125 |
<0.0001 |
2.6794 |
|
对于所有参数为0的假设检验有:似然比
=22.4252,自由度为1,
,说明药物与疗效有关,模型拟合较好,从表17-7同样可见变量
对Logit模型的贡献具有统计学意义。
根据表17-7的参数估计值可按式(17-5)列出3个累积Logit模型:
![]()
![]()
![]()
也可按式(17-6)和表17-7的参数结果列出3个累积预报概率模型为:
![]()
![]()
![]()
在SAS的MODEL语句后采用“OUTPUT P=pred;”,可获得
=1时和
=0时,以上3个模型的累积概率分别为:0.03173、0.41500、0.90068和0.01208、0.20927、0.77186,由此可得
=1时4种疗效分别对应的预报概率为0.03173、(0.41500-0.03173)=0.38327、(0.90068-0.41500)=0.48568、(1-0.90068)=0.09932,同理得
=0时4种疗效对应的预报概率分别为0.01208、0.19719、0.56173、0.22900。
用麻胆片的总例数94乘以其对应的预报概率,得各疗效对应的拟合值分别为3.0、36.0、45.7、9.3,用江剪刀草合剂总例数3330乘以其对应的预报概率,得各疗效对应的拟合值分别为40.2、656.6、1870.6、762.6(见表17-6)。
第三节 累积Logit模型的参数解释
一、参数的意义
在式(17-5)的累积Logit模型中,参数
描述了自变量
改变一个单位,反应
而不是
的对数优势比,也就是说
反映了自变量
对反应类别
的效应大小。该式中
没有下标j,表示模型假定自变量
对于所有
个累积Logit等式具有相同效果,对于一个自变量,累积Logit模型只采用了一个简单的参数,而不是像第一节的多项反应模型需要
个参数来描述
的效应。
假定一个自变量
取
、
两个值 ,任何一个反应类别j的累积概率优势比可表示为:
![]()
从以上式子可见,对于每一个可能的反应类别
,一个自变量的参数
值只有一个,其优势比(
)的对数与
的两个取值间的距离成正比。正是因为这一性质,累积Logit模型也被称为比例优势模型(proportional
odds model)。当
时,即
每增加一个单位,则小于等于某类别的反应优势将增加
倍。
对于具有4分类的有序反应变量
和1个简单的连续变量
,根据式(17-6)可绘制3条累积概率
随
变化的曲线,每条曲线与二项分类反应的Logistic回归曲线类似。根据表17-7中的参数绘出的三条曲线见图17-1(注意,与实例不符的是,这里假定了
为连续性变量)。无论j取1、2还是3,回归系数
均等于0.9856,三条反应曲线有相同的形状,如果将任何一条曲线向左或向右移动,将可与其它2条曲线中任何1条重叠。

图17-1 比例优势模型的累积概率
正如一般的Logistic回归,如果
=0成立,表示自变量
与反应变量
之间独立,即
与
无关。参数绝对值
的大小决定了曲线上升与下降的速度。对于某一确定的
值,曲线的高低顺序与相应的累积概率大小相同,
的曲线最低。当
时,随着
的增加,
更可能落在有序分类值更小的一端(见图17-1)。当
,随
增加,曲线应是逐渐下降而不是上升,
更可能落在有序分类值更大的一端。当反应类别的顺序颠倒时,得到的参数估计值
相同,但其符号相反。这一点必须得到清醒的认识,否则会得出完全相反的结论。
二、实例的参数解释
从表17-7可见,拟合式(17-5)的累积Logit模型获得
=0.9856(其标准误为0.1999),对于任何类别的
值,麻胆片偏向治愈而不是无效(即
而不是
)的优势为江剪刀草合剂的
倍,
的95%可信区间等于
,由此可见,麻胆片疗效明显好于江剪刀草合剂。
从任何类别
处将表17-6分割成2×2表,可利用模型拟合值(见表17-6)计算出优势比
=2.68,如
有:
![]()
检查累积Logit模型的拟合情况通常是检验所有参数是否为0,即H0:所有
。本例得似然比
=22.4252,n=1,
<0.0001,说明不同药物的疗效有明显不同。
SAS的LOGISTIC过程也提供了检验各反应类别的优势比相等,即检验每反应类别
有相同
的假设。本例的比例优势假定的得分检验(Score Test
for the Proportional Odds Assumption)得
=61.1280,n=2,
0.0001,说明本例的比例优势假定不成立。这种情况下可考虑采用其它方法进行分析,如可采用二次项或交互项等复杂模型,也可采用第一节提到的的多项反应Logit模型进行分析(读者不妨试一试)。
三、多个解释变量的参数解释
解释变量可以有多个,下面我们对具有两个解释变量的表17-4资料(见第一节)重新采用累积Logit模型分析如下:
本例仿SAS程序17-2,可得比例优势假定的得分检验得
=2.3674,n=2,
0.3061
,说明任一个反应类别具有相同优势的假定成立。拟合优度检验H0:所有
,得似然比
=55.1938,n=2,
<0.0001,说明采用疾病类型(
)和治疗组别(
)对于疗效累积Logit模型具有统计学意义,即
。
表17-8 表17-4资料累积Logit模型的参数最大似然估计
|
变量名 |
参数
|
标准误
|
|
|
|
|||
|
Intercept1 |
-2.3749 |
|
0.4218 |
|
31.6957 |
<.0001 |
|
|
|
Intercept2 |
-0.2267 |
|
0.3337 |
|
0.4615 |
0.4969 |
|
|
|
X1 |
1.3756 |
|
0.4138 |
|
11.0525 |
0.0009 |
3.957 |
|
|
X2 |
2.8483 |
|
0.4589 |
|
38.5313 |
<.0001 |
17.259 |
|
获得的参数估计值及其检验结果见表17-8。表中
表示第
类别的常数项,
表示第
个变量的参数估计值,
表示第
个变量的优势比。
、
的
的95%可信区间分别为(1.759,8.904)、(7.022,42.423)。表明一定的治疗组别下,急性细菌性结膜炎反应的疗效优势是流行性角膜结膜炎的3.957倍;一定的疾病类型下,试验组反应的疗效优势是对照组的17.259倍。
由SAS程序获得每种组合的治愈与好转分别对应的累积预报概率为(0.8640、0.2691、0.6162、0.0851)和(0.9820、0.7593、0.9322、0.4436),由此获得每个格子的预报概率见表17-9。
表17-9 表17-4资料的预报概率
|
疾病类型 |
组别 |
疗效 |
||
|
治愈 |
好转 |
无效 |
||
|
急性细菌性结膜炎 |
试验组 |
0.8640 |
0.1180 |
0.0180 |
|
|
对照组 |
0.2691 |
0.4902 |
0.2407 |
|
流行性角膜结膜炎 |
试验组 |
0.6162 |
0.3160 |
0.0678 |
|
|
对照组 |
0.0851 |
0.3585 |
0.5564 |
第四节 其它有序回归模型
在生物医学研究中,对于有序分类反应资料,累积Logit模型的应用最广,但如果比例优势的假定不成立,为了充分利用反应的有序性质,也可采用其它有序回归模型,如相继比Logit模型、相邻类别Logit模型等。
一、相继比Logit模型
Feinberg (1980)将式(17-5)的累积Logit模型对数项内的分子
改变成
,提出相继比Logit模型(continuation-ratio
logit model)为:

,
(17-7)
将LOGISTIC过程的MODEL模型语句后加入“LINK=CLOGLOG”选项可拟合相继比模型,对于表17-6资料改SAS程序17-2中MODEL语句为“MODEL y=x / LINK=CLOGLOG;”即可。本例得
=0.5515(其标准误为0.1221),
=
,
的95%可信区间等于
。
二、相邻类别logit模型
相邻类别logit模型(adjacent-categories
logits model)涉及到两个毗邻的概率
和
,自变量为
时,模型可写为:

,
(17-8)
采用SAS程序17-3可获得相邻类别logit模型的加权最小二乘法(WLS)估计值,而不能得到最大似然(ML)估计值。对于表17-6资料,有
=0.4816(其标准误为0.0671)。
第五节
多项反应模型的SAS计算程序
SAS程序17-1 表17-1资料的多项分类Logit模型
|
行号 |
语句 |
行号 |
语句 |
|
01 |
DATA samp17_1 ; |
09 |
1127 1359 498 81 81 |
|
02 |
DO x=1 TO 3; DO y=1 TO 5; |
10 |
; |
|
03 |
INPUT count @@; |
11 |
PROC CATMOD; |
|
04 |
OUTPUT; |
12 |
RESPONSE LOGITS; |
|
05 |
END; END; |
13 |
DIRECT x; |
|
06 |
CARDS; |
14 |
MODEL y=x /PRED=PROB PRED=FREQ; |
|
07 |
638 1063 280 25 34 |
15 |
WEIGHT count; |
|
08 |
615 856 289 23 27 |
16 |
RUN; |
SAS程序17-1说明:CATMOD过程利用最后反应类别作为默认的Logit模型基线给出了多项反应Logit模型的参数估计值。在MODEL语句前使用“DIRECT x;”是为了将解释变量
说明为数字型变量,如果![]()