QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3874|回复: 3
打印 上一主题 下一主题

[个人总经验] 一般线性模型(GLM)的相关思考

[复制链接]
字体大小: 正常 放大

7

主题

11

听众

18

积分

升级  13.68%

该用户从未签到

自我介绍
不知道写啥子
跳转到指定楼层
1#
发表于 2015-4-1 13:57 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
最近遇到一个问题,如果因变量为一个连续变量(如胰岛素水平),主要考察的变量为分组变量(如正常血糖组,前糖尿病组,糖尿病组三组),现在的目的是想看调整多种变量(包括多个连续性变量和分类变量)后,胰岛素水平是否一致。
  c. _+ m0 p2 c- i1 k( g! k  h) e2 D2 K% R+ S- {: z6 g
% d1 T! c, \2 ]9 `
一开始的思路想到的是采用GLM进行协方差分析来解决。
/ y8 i8 A. |+ l. {6 T" \
) e6 C% B' C. X' N但是有觉得似乎不是很对,因为经典的协方差分析通常只考虑一个连续变量(协变量)和一个分组变量,同时协变量和分组变量只有不存在交互的时候(经典协方差分析的前提)才能使用协方差分析。, \1 K9 W8 L( Y- |) x
针对我目前的问题,如果想调整多个连续性变量和分类变量,这种方法能否再叫协方差分析?如果可以认为是协方差的思想,用不用检验协方差分析的前提(如协变量与分组变量之间的交互)?多个连续性变量和分类变量存在时,该前提应该怎么检验?/ p- ]+ K! p5 i7 N3 n7 X) D
" k, z3 r! A7 w2 K9 ?) r6 W
通过跟别人交流之后,有一句话非常受用:线性模型其实最重要的不在于用的方差分析还是协方差分析,而主要是检验残差是否符合线性的几个条件。6 F5 u! c; o- [$ q0 D* ~1 {. D% l0 J

% G1 \% k" e' s受到该启发后,认真再复习GLM的相关资料,得到更加重要的总结如下(来自高惠璇SAS/STAT软件使用手册,实际是SAS8.2的User's guide的中文版,但是目前SAS 9.2,9.3的User's guide关于GLM模型的介绍中已经删去了这么经典的总结,实在可惜,倒让人看不到GLM的真正长处了):$ S9 ^; @- c! D  v  Y$ r
如果X1-X3,Y1-Y2为连续性变量,Y3为分类变量,a-c为分类变量,time为时间变量,目前我们熟悉的模型可以简单概括如下:
- t: C3 T. W. ~( z0 Y, y) [(1) y1= x1    简单回归
: T: j: S) x+ G- n; N(2) y1= x1 x2 x3  多重回归(multiple regression)
+ Z( h5 i5 \  H. h5 s(3) y1 y2=x1 x2   多元回归(multivariate regression)- o5 K" j0 s) `' F
(4) y1= a   单因素方差分析
3 c% S0 B/ ^: @% P# t8 I(5) y1= a b   (析因设计的)主效应分析! o- ]: {& K# F+ [* X  K
(6) y1= a b  a*b (析因设计的)主效应加交互项分析
; s+ x3 i. w6 L9 N/ Y(7) y1= a x1   协方差分析
, _$ g/ N. B0 S" `& n  N" f" f5 ~(8) y3= a   单因素logistic回归
/ b. f4 C# G  ~- y! O/ z(9) y3= a b c x1 x2 x3   多因素logistic回归
# j  B8 T$ c$ s" K3 y(10) y3(time) =a   单因素cox回归' v  Z# ~% ]* h' ^9 C0 Y! N7 o
(11) y3(time) = a b c x1 x2 x3  多因素cox回归( k: |- {! t% X& i* B+ O

) c. V, f/ G' G1-7采用SAS的一般线性模型GLM都能实现,而1-9采用SAS的广义线性模型GENMOD都能实现,具体验证详见后面举例. z/ Y6 ~% s# P; q5 F7 z1 O" k) w

+ L0 A6 {1 f9 f再次回到开始的问题:掌握上述的基本思路后,因为因变量为连续变量,所以采用线性模型肯定是对的。如果因变量可以认为是正态的,那采用一般线性模型是合理的。所以现在的关键问题是:如果调整多个变量(包含分类和连续变量)后看不同分组间因变量(连续变量)是否仍有差异时,能否再称为协方差分析?我目前认为应该是可以的,但是事实上我们遇到这种情况后,并不再去强调它是协方差的思想,而只是回到线性模型分析的最初的起点,也即是检查残差是否符合线性的基本条件即可。, N( ^+ K4 w: B4 `$ S
/ G2 f* [+ C- T2 T; f
但是现实中,我们在使用GLM解决前面遇到的类似问题时,只是简单地用了,而很多时候我们都没有认真去检验残差是否符合这个条件,这可能是我们滥用GLM的表现之一,因为我们更多只关注模型的参数是否有意义,而不去关心对结果“无关紧要”的前提条件。
& _  x4 g3 ^- T+ p' ]2 ~1 g9 H/ C+ n$ z# G8 p; d
再次思考一个问题,上述列举的1-7模型,在GLM中并没有特定的选项指定是哪一种模型,而采用一种表达方式。由此,可以进一步深入概括一句话,GLM模型,对于上述列举的1-7模型并没有本质区别,唯一的区别只是模型中自变量的属性和数量不同。但是我们对1-7模型的叫法却不相同。而其原因是我们对事物的认识是一个由浅到深的过程,之前我们认为他们是不同的7件事情,随着认识的加深,发现原来这些问题可以用一个方式表达出来。而SAS的GENMOD则更能说明这一问题。现在还没有一个模型能把上述模型1-11用一种表达方式表示,但是COX回归在抛开基线生存函数之后剩下的部分也是线性模型,所以说不定哪天真的能够把上述所有模型用一种表达方式表示出来。到时候更应该相信人们对事物的认识绝对是一个由浅到深的过程啦。8 Y7 w, u5 T3 F8 ^
/ I5 X, c7 U% v
附:GLM与GENMOD在协方差分析结果的比较
3 j; I) B; d9 g6 x  X. ]: q9 q& T% \8 T   data drugtest; 1 c% f; T7 Y: G" S2 h4 `: z
      input Drug $ PreTreatment PostTreatment @@;
) F1 |* ^* @, \! F      datalines; , X. R! Y2 a1 P, z/ I
   A 11  6   A  8  0   A  5  2   A 14  8   A 19 11
1 U& p) y# l( R2 q   A  6  4   A 10 13   A  6  1   A 11  8   A  3  0
# }$ `' U% h% s! g: v$ a# ^   D  6  0   D  6  2   D  7  3   D  8  1   D 18 18 : r! |2 t# x- ^+ q
   D  8  4   D 19 14   D  8  9   D  5  1   D 15  9 - _, h: x# c8 q, D6 y
   F 16 13   F 13 10   F 11 18   F  9  5   F 21 23 3 e* `3 \2 f8 x) |/ j7 P
   F 16 12   F 12  5   F 12 16   F  7  1   F 12 20 9 Y" p4 D1 [1 o  |
   ; # p$ m1 A4 p' d  Q9 a

& _! z: y6 g0 k7 e  s   proc glm;
# ~3 y( Y( ~2 ~$ ]1 n; W7 @/ N0 ~      class Drug;
( g3 v! G6 |% t' H      model PostTreatment = Drug PreTreatment / solution;
4 |" ?/ a. V3 i2 d) ^% F      lsmeans Drug / stderr pdiff cov out=adjmeans;
% B& g  k: e$ G' `* \* W2 r3 m   run; 1 D' r# H9 h* p& p
( ]9 D6 b/ h$ \% V
   proc genmod data=drugtest; 2 }  d$ x! R2 f1 `* k
      class Drug; . i  I/ O9 D! s0 G9 C. T4 I( R$ M
      model PostTreatment = Drug PreTreatment / dist=NOR link=ID obstats type1;
) f5 ~: h- c* r+ i" f   run;
0 x: l! T9 ^+ @7 L7 m5 H; Y# y7 l
1 V& ]. Z5 U; ]+ L   proc print data=adjmeans; * q' }% N. g* t. @; p) [
   run;
1 G8 h/ W4 u% S0 S5 f, y# R2 E* V. E+ V% T' m  r3 {+ v2 C" W
4 D9 z! M% ?# f4 v! w# {
. x7 @3 u  B+ o8 u/ _
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

2

主题

13

听众

29

积分

升级  25.26%

该用户从未签到

自我介绍
飘过
; R0 @' ~7 }' g/ f/ H0 y3 R% y6 a
学习了,总结的真好,特别是那句关于前提的提醒  H. U- n/ ~9 z6 Q
回复

使用道具 举报

5

主题

11

听众

18

积分

升级  13.68%

  • TA的每日心情
    郁闷
    2015-4-7 17:06
  • 签到天数: 1 天

    [LV.1]初来乍到

    自我介绍
    拒绝一切
    / a8 l. u+ R9 b: L# v
    学习了,,“我们更多只关注模型的参数是否有意义,而不去关心对结果“无关紧要”的前提条件
    # ]2 X' o5 {, u6 x! C”这句话是该提醒了很多人啊,个人感觉不要只知道应用,还要知道原理,所以说理论性的东西还是不可缺的,,谢谢楼主了哈,,
    7 F  Q$ U4 ~& P# a+ T+ H
    回复

    使用道具 举报

    3

    主题

    12

    听众

    14

    积分

    升级  9.47%

  • TA的每日心情
    开心
    2015-4-1 17:42
  • 签到天数: 1 天

    [LV.1]初来乍到

    自我介绍
    @
    3 s3 B( T# ^% G$ h5 a: A
    深入浅出,简练的表达,传达了复杂的内容。9 J5 W* N5 T6 c% c! q
    貌似目前好多著者、师者都缺少这种思考与总结,有的书、课件就是靠东拼西凑来的。6 H# F4 A, g5 N+ ~
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-30 14:46 , Processed in 0.458778 second(s), 72 queries .

    回顶部