ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

统计模型总结 - GLM的理解

2021-12-05 12:31:40  阅读:180  来源: 互联网

标签:总结 GLM 模型 Drug 协方差 y1 变量


最近遇到一个问题,如果因变量为一个连续变量(如胰岛素水平),主要考察的变量为分组变量(如正常血糖组,前糖尿病组,糖尿病组三组),现在的目的是想看调整多种变量(包括多个连续性变量和分类变量)后,胰岛素水平是否一致。


一开始的思路想到的是采用GLM进行协方差分析来解决。

但是有觉得似乎不是很对,因为经典的协方差分析通常只考虑一个连续变量(协变量)和一个分组变量,同时协变量和分组变量只有不存在交互的时候(经典协方差分析的前提)才能使用协方差分析。
针对我目前的问题,如果想调整多个连续性变量和分类变量,这种方法能否再叫协方差分析?如果可以认为是协方差的思想,用不用检验协方差分析的前提(如协变量与分组变量之间的交互)?多个连续性变量和分类变量存在时,该前提应该怎么检验?

通过跟别人交流之后,有一句话非常受用:线性模型其实最重要的不在于用的方差分析还是协方差分析,而主要是检验残差是否符合线性的几个条件。

受到该启发后,认真再复习GLM的相关资料,得到更加重要的总结如下(来自高惠璇SAS/STAT软件使用手册,实际是SAS8.2的User's guide的中文版,但是目前SAS 9.2,9.3的User's guide关于GLM模型的介绍中已经删去了这么经典的总结,实在可惜,倒让人看不到GLM的真正长处了):
如果X1-X3,Y1-Y2为连续性变量,Y3为分类变量,a-c为分类变量,time为时间变量,目前我们熟悉的模型可以简单概括如下:
(1) y1= x1    简单回归
(2) y1= x1 x2 x3  多重回归(multiple regression)
(3) y1 y2=x1 x2   多元回归(multivariate regression)
(4) y1= a   单因素方差分析
(5) y1= a b   (析因设计的)主效应分析
(6) y1= a b  a*b (析因设计的)主效应加交互项分析
(7) y1= a x1   协方差分析
(8) y3= a   单因素logistic回归
(9) y3= a b c x1 x2 x3   多因素logistic回归
(10) y3(time) =a   单因素cox回归
(11) y3(time) = a b c x1 x2 x3  多因素cox回归

1-7采用SAS的一般线性模型GLM都能实现,而1-9采用SAS的广义线性模型GENMOD都能实现,具体验证详见后面举例

再次回到开始的问题:掌握上述的基本思路后,因为因变量为连续变量,所以采用线性模型肯定是对的。如果因变量可以认为是正态的,那采用一般线性模型是合理的。所以现在的关键问题是:如果调整多个变量(包含分类和连续变量)后看不同分组间因变量(连续变量)是否仍有差异时,能否再称为协方差分析?我目前认为应该是可以的,但是事实上我们遇到这种情况后,并不再去强调它是协方差的思想,而只是回到线性模型分析的最初的起点,也即是检查残差是否符合线性的基本条件即可。

但是现实中,我们在使用GLM解决前面遇到的类似问题时,只是简单地用了,而很多时候我们都没有认真去检验残差是否符合这个条件,这可能是我们滥用GLM的表现之一,因为我们更多只关注模型的参数是否有意义,而不去关心对结果“无关紧要”的前提条件。

再次思考一个问题,上述列举的1-7模型,在GLM中并没有特定的选项指定是哪一种模型,而采用一种表达方式。由此,可以进一步深入概括一句话,GLM模型,对于上述列举的1-7模型并没有本质区别,唯一的区别只是模型中自变量的属性和数量不同。但是我们对1-7模型的叫法却不相同。而其原因是我们对事物的认识是一个由浅到深的过程,之前我们认为他们是不同的7件事情,随着认识的加深,发现原来这些问题可以用一个方式表达出来。而SAS的GENMOD则更能说明这一问题。现在还没有一个模型能把上述模型1-11用一种表达方式表示,但是COX回归在抛开基线生存函数之后剩下的部分也是线性模型,所以说不定哪天真的能够把上述所有模型用一种表达方式表示出来。到时候更应该相信人们对事物的认识绝对是一个由浅到深的过程啦。


data drugtest; 
    input Drug $ PreTreatment PostTreatment @@; 
    datalines; 
   A 11  6   A  8  0   A  5  2   A 14  8   A 19 11 
   A  6  4   A 10 13   A  6  1   A 11  8   A  3  0 
   D  6  0   D  6  2   D  7  3   D  8  1   D 18 18 
   D  8  4   D 19 14   D  8  9   D  5  1   D 15  9 
   F 16 13   F 13 10   F 11 18   F  9  5   F 21 23 
   F 16 12   F 12  5   F 12 16   F  7  1   F 12 20 
; 

proc glm  data=drugtest; 
    class Drug; 
    model PostTreatment = Drug PreTreatment / solution; 
    lsmeans Drug / stderr tdiff cov out=adjmeans; 
run; 

proc genmod data=drugtest; 
    class Drug; 
    model PostTreatment = Drug PreTreatment / dist=NOR link=ID obstats type1; 
    lsmeans Drug ; 
run; 

 

 参考:http://bbs.pinggu.org/thread-2736449-1-1.html  bymoonstone

 

标签:总结,GLM,模型,Drug,协方差,y1,变量
来源: https://www.cnblogs.com/SAS-T/p/15645153.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有