楼主: zhangweibeckham
19719 14

[原创博文] 关于重复测量方差分析的SAS程序请教! [推广有奖]

  • 1关注
  • 7粉丝

讲师

14%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
75.0204
学术水平
4 点
热心指数
5 点
信用等级
1 点
经验
4177 点
帖子
154
精华
0
在线时间
628 小时
注册时间
2009-7-14
最后登录
2023-8-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有这样的一组试验数据:处理组别:A1(试验药高剂量),A2(试验药低剂量),C(安慰剂对照);重复观测:T0(在用药之前的测量值),T1(用药之后1个月时的测量值),T2(用药之后2个月的测量值),T3(用药之后3个月的测量值)。另外A1入组12人,A2入组9人,A3入组13人,即unbalanced,想要知道3个处理组之间的治疗效果有无差异。程序:
data a;
input group $ t0 t1 t2 t3 @@;
cards;
A1 12 13 23 29
........
A2 13 24 34 29
........
A3 14 34 32 31
........
;
run;
proc glm data=a;
class group;
model t0 t1 t2 t3=group;
repeated time 4 contrast(1)/printe summary;
means group/snk lsd;
run;
quit;
其实,对于治疗效果还要考虑到基线值的差异(即清除T0的影响),所以应该把T0作为协变量来处理。在SPSS中是通过“Analyze"-"General Linear Model"-"Repeated Measures Define Factor(s)"然后再选择3个factors,作为时间因素,并把T0作为协变量,group作为between subject变量,再得出分析的结果。
那么,我用如下的程序是否就对了?
proc glm data=a;
class group;
model t1 t2 t3=group t0;
repeated time 3 contrast(1)/printe summary;
repeated time 3 contrast(2)/printe summary;
means group/snk lsd;
run;
quit;
我对了下SPSS和SAS的运行结果,出来的值(能对应的上的)都是一样的。
也欢迎各位大虾提供建议,多多批评和指正,先谢过了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:重复测量方差分析 sas程序 方差分析 重复测量 unbalanced 安慰剂 测量 程序

回帖推荐

sean1945 发表于4楼  查看完整内容

1# zhangweibeckham 代码如下: 没有原始数据,楼主自己运行一下吧。

本帖被以下文库推荐

沙发
zhangweibeckham 发表于 2010-12-27 18:23:57 |只看作者 |坛友微信交流群
期待回答啊。有没有在CRO公司或者在诺华、辉瑞等制药公司的统计分析部门的朋友,这种重复测量的方差分析肯定是会经常碰到的,所以还请大家多给意见和建议。
看来要和数据打一辈子的交道了!

使用道具

藤椅
sean1945 发表于 2010-12-28 11:21:47 |只看作者 |坛友微信交流群
1# zhangweibeckham

为什么不试试混合线性模型呢?(proc mixed)
1. GLM是应用最小二乘法原理计算协方差参数的,这一模型对协方差结构有极端的假定。当需要估计尽可能多的方差及协方差参数时,GLM模型有一定的局限性,而基于似然函数法原理的混合效应线性模型分析方法可满足不受协方差参数限制的要求,而且MIXED模型还可以分析观察时间点不相等的资料,也能充分利用具有缺失观察值的资料,它允许资料存在某种相关性及协方差矩阵的多样性,更适应重复测量资料的特点。
2. 一般线性模型(GLM)要求误差项e具有独立一致的正态分布,而许多实际资料不能满足这一假定。Mixed 模型允许误差项具有更灵活的结构,包括相关性和方差的不齐性。
3. 混合效应线性模型(proc mixed)采用最大似然估计法(maximum likelihoodML)和约束最大似然估计法(restricted maximum likelihoodREML)原理计算协方差矩阵。
4. 应用混合效应线性模型的步骤:
   确定固定效应和随机效应;
   选择协方差结构,常见的有7种。
       a.
独立结构(又称方差分量结构) VC ,矩阵中含1个协方差参数;

       b.
复合对称结构CS,矩阵中含2个协方差参数;

       c.
空间幂相关结构 SP(POW),含2个协方差参数;

      d.
无结构(又称不规则结构) UN,含n(n+1)/2个协方差参数;

       e.
一阶自回归结构 AR(1),含2个协方差参数;

       f.
带状主对角结构 UN(1),含n个协方差参数;

       g.
循环相关结构 TOEP,含n个协方差参数;

  述不同的协方差矩阵中,选出似然比统计量(-2 Log Likelihood)、Akaike’s Information Criterion(AIC)、及Schwartz’s Bayesian CriterionBIC)较小的一个。如果这些统计量很近似,则选含参数个数最少的一个,通常以AIC为主要判断指标。
   选定协方差结构后,再筛选固定效应参数,剔除无统计学意义的高阶效应。

已有 2 人评分学术水平 热心指数 信用等级 收起 理由
lilijenny + 1 + 1 + 1 学习了!
959712305 + 1 + 1 + 1 学习了

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

他大舅他二舅都是他舅,高桌子低板凳都是木头

使用道具

板凳
sean1945 发表于 2010-12-28 11:22:59 |只看作者 |坛友微信交流群
1# zhangweibeckham

代码如下:
  1. Data a;
  2. Input group pnt t0 t1 t2 t3 @@;
  3. Cards;
  4. 1 1 12 13 23 29
  5. 1 2 . . . .

  6. 1 12 . . . .
  7. 2 1 13 24 34 29
  8. 2 2 . . . .

  9. 2 9 . . . .

  10. 3 13 . . .
  11. ;
  12. Data a_b;
  13.    Set a;
  14.    Array t{4} t0 t1 t2 t3;
  15.    Do i= 1 to 4;
  16.       If i=1 then time=0;
  17.      If i=2 then time=1;
  18.      if i=3 then time=2;
  19.      If i=4 then time=3;
  20.   Y=t{i};output;
  21.   Timepnt=time;
  22.   End;
  23.   Drop i t0 t1 t2 t3 ;
  24. Run;
  25. Proc mixed data=a_b covtest method =REML;
  26.    CLASS group pnt;
  27.    Model y=group time group*time time*time time*time*group /S; /*选项S输出随机效应参数的解 */
  28.    Repeated /type= UN subject=pnt R; /* 选项R输出R矩阵的区块 */
  29.    Lsmeans group time / tdiff pdiff;
  30. Run;
  31. Proc mixed data=a_b covtest method =REML;
  32.   CLASS group pnt;
  33.   Model y=group time group*time time*time time*time*group /S;
  34.   Repeated /type= UN(1) subject=pnt R;
  35.   Lsmeans group time / tdiff pdiff;Run;
  36. Proc mixed data=a_b covtest method =REML;
  37.   CLASS group pnt;
  38.   Model y=group time group*time time*time time*time*group /S;
  39.   Repeated /type= CS subject=pnt R;
  40.   Lsmeans group time / tdiff pdiff;
  41. Run;
  42. Proc mixed data=a_b covtest method =REML;
  43.   CLASS group pnt;
  44.   Model y=group time group*time time*time time*time*group /S;
  45.   Repeated /type= SP(POW)(timepnt) subject=pnt R;
  46.   Lsmeans group time / tdiff pdiff;
  47. Run;
  48. Proc mixed data=a_b covtest method =REML;
  49.   CLASS group pnt;
  50.   Model y=group time group*time time*time time*time*group /S;
  51.   Repeated /type= AR(1) subject=pnt R;
  52.   Lsmeans group time / tdiff pdiff;
  53. Run;
  54. Proc mixed data=a_b covtest method =REML;
  55.   CLASS group pnt;
  56.   Model y=group time group*time time*time time*time*group /S;
  57.   Repeated /type= TOEP subject=pnt R;
  58.   Lsmeans group time / tdiff pdiff;
  59. Run;
  60. /* 根据AIC准则,选择AIC较小的协方差结构,采用Type 3 tests of Fixed Effects 结果 */
  61. /* Lsmeans 语句输出不同效应间两两比较的结果 */
复制代码

没有原始数据,楼主自己运行一下吧。
他大舅他二舅都是他舅,高桌子低板凳都是木头

使用道具

报纸
lookslike 发表于 2011-1-4 13:14:13 |只看作者 |坛友微信交流群
sean1945 发表于 2010-12-28 11:21
1# zhangweibeckham

为什么不试试混合线性模型呢?(proc mixed)
1. GLM是应用最小二乘法原理计算协方差参数的,这一模型对协方差结构有极端的假定。当需要估计尽可能多的方差及协方差参数时,GLM模型有一定的局限性,而基于似然函数法原理的混合效应线性模型分析方法可满足不受协方差参数限制的要求,而且MIXED模型还可以分析观察时间点不相等的资料,也能充分利用具有缺失观察值的资料,它允许资料存在某种相关性及协方差矩阵的多样性,更适应重复测量资料的特点。
2. 一般线性模型(GLM)要求误差项e具有独立一致的正态分布,而许多实际资料不能满足这一假定。Mixed 模型允许误差项具有更灵活的结构,包括相关性和方差的不齐性。
3. 混合效应线性模型(proc mixed)采用最大似然估计法(maximum likelihoodML)和约束最大似然估计法(restricted maximum likelihoodREML)原理计算协方差矩阵。
4. 应用混合效应线性模型的步骤:
   确定固定效应和随机效应;
   选择协方差结构,常见的有7种。
       a.
独立结构(又称方差分量结构) VC ,矩阵中含1个协方差参数;

       b.
复合对称结构CS,矩阵中含2个协方差参数;

       c.
空间幂相关结构 SP(POW),含2个协方差参数;

      d.
无结构(又称不规则结构) UN,含n(n+1)/2个协方差参数;

       e.
一阶自回归结构 AR(1),含2个协方差参数;

       f.
带状主对角结构 UN(1),含n个协方差参数;

       g.
循环相关结构 TOEP,含n个协方差参数;

  述不同的协方差矩阵中,选出似然比统计量(-2 Log Likelihood)、Akaike’s Information Criterion(AIC)、及Schwartz’s Bayesian CriterionBIC)较小的一个。如果这些统计量很近似,则选含参数个数最少的一个,通常以AIC为主要判断指标。
   选定协方差结构后,再筛选固定效应参数,剔除无统计学意义的高阶效应。

理论很深的嘛,学习了!

使用道具

谢谢您的回答,非常详细,不过你的程序和思路和我想要的做的分析目的不同,我是想去出第一次观测的影响(即基线值的影响)去考察3个组别之间的治疗效果有没有差异,所以T0应该不能放在因变量中考虑,你这个模型是个更一般的方差分析,约束条件少了。我已经确定我的程序处理这种剔除基线差异的重复观测的方差分析是合适的。再一次感谢您使我受益匪浅!
看来要和数据打一辈子的交道了!

使用道具

7
墨岚 发表于 2011-12-10 03:12:14 |只看作者 |坛友微信交流群
呵呵 要去除基线值影响的话 在PROC mixed /glimmix 里面加个RANDOM语句就OK了~
要踏实,也要巧劲,唯独不要怨艾。

使用道具

8
zzheng722 发表于 2011-12-25 11:49:19 |只看作者 |坛友微信交流群
同意“sean1945"的说法,用proc mixed 是目前最好的方法。你用MANOVA得出的东西还是要用ANOVA两两时间去比,并且要考虑多重比较的alpha.

MIXED model 利用了各时点的相关性,节省了样本。如”想去出第一次观测的影响(即基线值的影响)去考察3个组别之间的治疗效果有没有差异,“,把基线值作为协变量即可。

Proc mixed data=a_b covtest method =REML;
  CLASS group pnt;
  Model y=group time group*time t0/S;
  Repeated /type= CS subject=pnt R;
  Lsmeans group time / tdiff pdiff;
Run;

使用道具

9
墨岚 发表于 2012-2-14 15:30:15 |只看作者 |坛友微信交流群
LS说得对。。才发现我错了,LZ抱歉!
要踏实,也要巧劲,唯独不要怨艾。

使用道具

10
pedyshen 发表于 2013-7-4 00:10:59 |只看作者 |坛友微信交流群
sean1945 发表于 2010-12-28 11:22
1# zhangweibeckham

代码如下:
请问 pnt 是哪个变量?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 07:51