数学建模社区-数学中国
标题:
一般线性模型(GLM)的相关思考
[打印本页]
作者:
雨不眠的下
时间:
2015-4-1 13:57
标题:
一般线性模型(GLM)的相关思考
最近遇到一个问题,如果因变量为一个连续变量(如胰岛素水平),主要考察的变量为分组变量(如正常血糖组,前糖尿病组,糖尿病组三组),现在的目的是想看调整多种变量(包括多个连续性变量和分类变量)后,胰岛素水平是否一致。
6 x+ f% q* F1 k4 i9 E
z/ @% o" `( v z7 b, W; u
- ~5 k1 k; }+ n1 e J1 c$ o
一开始的思路想到的是采用GLM进行协方差分析来解决。
" a. T, S. [. M
' X7 r8 l# Q4 w% r' @2 B& b+ e
但是有觉得似乎不是很对,因为经典的协方差分析通常只考虑一个连续变量(协变量)和一个分组变量,同时协变量和分组变量只有不存在交互的时候(经典协方差分析的前提)才能使用协方差分析。
9 |: |- Y9 y+ X
针对我目前的问题,如果想调整多个连续性变量和分类变量,这种方法能否再叫协方差分析?如果可以认为是协方差的思想,用不用检验协方差分析的前提(如协变量与分组变量之间的交互)?多个连续性变量和分类变量存在时,该前提应该怎么检验?
: G! H9 }2 Q% m2 j/ f- u# m) N
; E7 @: N9 T6 y; s) l! Y
通过跟别人交流之后,有一句话非常受用:
线性模型其实最重要的不在于用的方差分析还是协方差分析,而主要是检验残差是否符合线性的几个条件。
/ N, ^4 W0 z7 n
: B* T; W, A5 M. P: @
受到该启发后,认真再复习GLM的相关资料,得到更加重要的总结如下(来自高惠璇SAS/STAT软件使用手册,实际是SAS8.2的User's guide的中文版,但是目前SAS 9.2,9.3的User's guide关于GLM模型的介绍中已经删去了这么经典的总结,实在可惜,倒让人看不到GLM的真正长处了):
$ ]: \2 j. n3 `) H% k1 ]
如果X1-X3,Y1-Y2为连续性变量,Y3为分类变量,a-c为分类变量,time为时间变量,目前我们熟悉的模型可以简单概括如下:
6 l" t) U- B( I& n
(1) y1= x1 简单回归
" |; t6 O. g9 [2 \0 |6 D
(2) y1= x1 x2 x3 多重回归(multiple regression)
0 t( {- P: H7 u& A% d- O& B4 @
(3) y1 y2=x1 x2 多元回归(multivariate regression)
- H' g. M9 G% K d
(4) y1= a 单因素方差分析
% B5 c( N; a; y' i @- Q( c: p
(5) y1= a b (析因设计的)主效应分析
. d9 ]2 X" V, V8 w( v0 Q4 ?3 _7 B( W1 I( N
(6) y1= a b a*b (析因设计的)主效应加交互项分析
$ D+ S) w9 D; m; p! T
(7) y1= a x1 协方差分析
7 ?; g+ o" c! q R: t7 |) M
(8) y3= a 单因素logistic回归
4 l# N3 d' N5 V5 n. C3 s8 q
(9) y3= a b c x1 x2 x3 多因素logistic回归
6 W7 H% t; s: k
(10) y3(time) =a 单因素cox回归
6 i7 n$ i1 {6 s
(11) y3(time) = a b c x1 x2 x3 多因素cox回归
! R- e- i( I' E2 }' ]- m5 m
0 S8 M% S5 S/ A; s! W+ E, E
1-7采用SAS的一般线性模型GLM都能实现,而1-9采用SAS的广义线性模型GENMOD都能实现,具体验证详见后面举例
7 y7 V2 |! Y V6 d, e$ N
, P e. T3 H+ e- d* t0 ~ i
再次回到开始的问题:掌握上述的基本思路后,因为因变量为连续变量,所以采用线性模型肯定是对的。如果因变量可以认为是正态的,那采用一般线性模型是合理的。所以现在的关键问题是:如果调整多个变量(包含分类和连续变量)后看不同分组间因变量(连续变量)是否仍有差异时,能否再称为协方差分析?我目前认为应该是可以的,但是事实上我们遇到这种情况后,并不再去强调它是协方差的思想,而只是回到线性模型分析的最初的起点,也即是检查残差是否符合线性的基本条件即可。
p9 t* |0 j* I, |" m8 N7 T
; Z3 h( @# m$ r( i& R
但是现实中,我们在使用GLM解决前面遇到的类似问题时,只是简单地用了,而很多时候我们都没有认真去检验残差是否符合这个条件,这可能是我们滥用GLM的表现之一,因为我们更多只关注模型的参数是否有意义,而不去关心对结果“无关紧要”的前提条件。
: B+ d ^2 Y% Y6 I" u Y% O/ `' j
2 k1 W% H# v8 A+ P, ^) e# W
再次思考一个问题,上述列举的1-7模型,在GLM中并没有特定的选项指定是哪一种模型,而采用一种表达方式。由此,可以进一步深入概括一句话,GLM模型,对于上述列举的
1-7模型并没有本质区别,唯一的区别只是模型中自变量的属性和数量不同
。但是我们对1-7模型的叫法却不相同。而其原因是我们对事物的认识是一个由浅到深的过程,之前我们认为他们是不同的7件事情,随着认识的加深,发现原来这些问题可以用一个方式表达出来。而SAS的GENMOD则更能说明这一问题。现在还没有一个模型能把上述模型1-11用一种表达方式表示,但是COX回归在抛开基线生存函数之后剩下的部分也是线性模型,所以说不定哪天真的能够把上述所有模型用一种表达方式表示出来。到时候更应该相信人们对事物的认识绝对是一个由浅到深的过程啦。
3 Q7 |3 U- G ^5 u+ j4 P4 g" Y
% X; R+ k3 \4 Q9 Y( _
附:GLM与GENMOD在协方差分析结果的比较
5 A6 q% }: Y. d# a# {
data drugtest;
# v; v2 H& ~+ E4 k, J
input Drug $ PreTreatment PostTreatment @@;
6 u1 m# R$ s& g ]
datalines;
, }+ p3 ?5 E' J) r# r" K3 x$ G, t% B
A 11 6 A 8 0 A 5 2 A 14 8 A 19 11
- g: B( J$ s! G
A 6 4 A 10 13 A 6 1 A 11 8 A 3 0
2 t$ D( S5 E5 c2 S. p- A1 u
D 6 0 D 6 2 D 7 3 D 8 1 D 18 18
! t/ _$ ^' e* I# c
D 8 4 D 19 14 D 8 9 D 5 1 D 15 9
. y* Q- U2 p; W8 l- o
F 16 13 F 13 10 F 11 18 F 9 5 F 21 23
' e: L4 M$ e2 l6 W& }% r m
F 16 12 F 12 5 F 12 16 F 7 1 F 12 20
( m" Q- x( u' @" h) _: f* |. v
;
" b; s. Y% [4 n2 t& p6 k
, {1 d) n' ~/ z$ T% e- \" n
proc glm;
; {3 Q$ e9 N m. G8 P- A! A: [0 l& Y
class Drug;
4 f. q! U4 s* h0 i
model PostTreatment = Drug PreTreatment / solution;
0 H/ k$ y+ j" `! C7 A- S
lsmeans Drug / stderr pdiff cov out=adjmeans;
! d# m7 r7 \2 z% J
run;
1 C. R: Y6 N9 Y$ x- I/ y0 z& w5 U' Z' k
9 }* t% j8 O* j. J' a5 X Y$ W5 Q7 {0 F
proc genmod data=drugtest;
( J4 b3 M5 H) j0 u' J/ d
class Drug;
6 A" t, y* r2 W/ `+ a6 N7 }
model PostTreatment = Drug PreTreatment / dist=NOR link=ID obstats type1;
2 [* h! h6 e8 a# \) X+ j
run;
7 V1 `3 U/ D/ T( W( Q
: J$ p# r9 v/ r, Y% s( e
proc print data=adjmeans;
" y; V& ~9 r* v% W. {- Q
run;
% I* }5 f7 n4 g& K( q* S/ n; |$ ~
d9 f" d- z1 ]& u" S- ~
2 [' L; J X/ L' w% G3 g$ u6 u
( T2 Z' @- P B) Q& X
作者:
无法定义
时间:
2015-4-1 13:59
) D+ A: t( S Q$ W4 d
学习了,总结的真好,特别是那句关于前提的提醒
) z5 _$ a% s) ?, `, f) L! J
作者:
拒绝一切
时间:
2015-4-1 13:59
. i9 A' P9 \0 Z5 N
学习了,,“我们更多只关注模型的参数是否有意义,而不去关心对结果“无关紧要”的前提条件
% X" f; C$ G s' V& k0 W# O$ x
”这句话是该提醒了很多人啊,个人感觉不要只知道应用,还要知道原理,所以说理论性的东西还是不可缺的,,谢谢楼主了哈,,
6 ]0 U( I$ y; q, e8 E& z
作者:
今生已醉
时间:
2015-4-1 14:00
* F" p8 C1 l& T
深入浅出,简练的表达,传达了复杂的内容。
6 ~7 o* y2 E9 j' }8 n0 p
貌似目前好多著者、师者都缺少这种思考与总结,有的书、课件就是靠东拼西凑来的。
E6 i8 r% J" M! ? o
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5