如何在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
相关产品推荐
相关产品推荐

