You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SAS Proc Mixed混合模型中针对临床试验数据实现MAR假设?

重复测量临床试验混合模型中MAR假设的实现指导

示例重复测量临床试验数据

以下是包含两个治疗组、5个时间点的重复测量临床试验数据,其中ResVal为响应变量:

data draft;
input subID baseline ResVal visits$ treat$ trtN;
datalines;
1 10 15 1 Active 1
1 10 20 2 Active 1
1 10 15 3 Active 1
1 10 25 4 Active 1
1 10 18 5 Active 1
2 12 14 1 Active 1
2 12 18 2 Active 1
2 12 20 3 Active 1
2 12 10 4 Active 1
2 12 15 5 Active 1
3 15 15 1 Placebo 0
3 15 20 2 Placebo 0
3 15 15 3 Placebo 0
3 15 25 4 Placebo 0
3 15 15 5 Placebo 0
4 10 14 1 Placebo 0
4 10 18 2 Placebo 0
4 10 20 3 Placebo 0
4 10 10 4 Placebo 0
4 10 20 5 Placebo 0
;
run;

原混合模型实现代码

proc mixed data=draft;
class treat visits;
model ResVal= treat baseline visits treat*visits;
repeated visits/subject=subID type=CS; 
lsmeans treat*visits/cl diffs ;
run;

如何在上述代码中实现缺失随机(MAR)假设

缺失随机(MAR)指数据的缺失仅与已观测到的变量相关,与未观测的响应值无关。在SAS Proc Mixed中,基于似然的估计方法(ML/REML)天然支持MAR假设,只需注意以下几点:

1. 保留含缺失值的观测行

确保数据为长格式(每个访视对应一行),即使某访视的ResVal缺失,也要保留该行(例如将某行的ResVal设为.)。Proc Mixed会自动利用所有可用的观测值进行MAR假设下的估计,不要手动删除缺失行或使用where ResVal not missing这类筛选条件。

2. 纳入所有与缺失相关的协变量

识别并将所有可能影响缺失机制的已观测变量加入模型。你的原模型已纳入baseline、treat、visits及交互项,若缺失还与之前时间点的响应值相关,需先创建滞后响应变量,再加入模型。

3. 使用正确的估计方法

Proc Mixed默认采用REML(限制极大似然)估计,该方法完全符合MAR假设;也可手动指定method=ML或method=REML明确估计方式,修改后的代码示例:

proc mixed data=draft method=REML;
class treat visits subID; /* 将subID纳入class语句,语法更规范 */
model ResVal= treat baseline visits treat*visits;
repeated visits/subject=subID type=CS; 
lsmeans treat*visits/cl diffs ;
run;

4. 避免错误选项

  • 不要使用complete=only选项,该选项仅保留无缺失的完全病例,属于MCAR(完全随机缺失)假设下的分析,不符合MAR要求。
  • 不要遗漏与缺失相关的协变量,比如治疗组缺失率存在差异时,必须在模型中保留treat变量,否则估计结果可能存在偏差。

内容的提问来源于stack exchange,提问作者MNU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:52:49