12020 24

[问答] 【新人求教】关于SAS中MI填补缺失数据集的几个问题 [推广有奖]

11
Howard7738 发表于 2013-5-13 23:27:36 |只看作者 |坛友微信交流群
根据 wubuyun2009  数据,运行后,样本例数为何都变为735, 插补前后统计量如下,就不明白了
                                                                              
                              The MEANS Procedure                              
插补前:                                                                       
Variable      N            Mean         Std Dev         Minimum         Maximum
p0          142     156.4788732      94.9787373      24.0000000     688.0000000
m0          142      11.4443662       1.5279210       7.2000000      15.3000000
p1          131     131.9465649      79.9774308       5.0000000     564.0000000
m1          130      11.4200000       1.4591810       6.6000000      15.2000000
p2          130     123.1615385      76.2745758       5.0000000     391.0000000
m2          129      11.5604651       1.5401105       6.7000000      16.7000000
p3          131     123.8549618      77.8569815       5.0000000     389.0000000
m3          130      11.4153846       1.4833161       6.9000000      14.5000000
                                                                              
插补后:                                                                       
Variable      N            Mean         Std Dev         Minimum         Maximum
p0          735     155.7239021      93.9776364      12.7709523     688.0000000
m0          735      11.4330833       1.5216869       7.2000000      15.3000000
p1          735     133.9874874      80.5302179       5.0000000     564.0000000
m1          735      11.4133299       1.4643792       6.6000000      15.5965542
p2          735     121.2553436      75.5566324     -29.6570029     391.0000000
m2          735      11.5713799       1.5156239       6.7000000      16.7000000
p3          735     121.3471743      77.4425748     -70.9120719     389.0000000
m3          735      11.4415794       1.4769174       6.9000000      15.2626647

使用道具

12
jingju11 发表于 2013-5-14 11:34:02 |只看作者 |坛友微信交流群
wubuyun2009 发表于 2013-5-9 20:37
曾经做过一个,程序供你参考。本论坛也有SAS MI过程。
data ttest1_1;
        input p0 m0 p1 m1 p2 m2 p3 m3@@ ...
MI的实质利用一些模型,比如MAXIMUMLIKELIHOOD等等,来对一定缺失机制,比如MAR,和格式,比如monotone缺失等等,进行填补。这用填补带有随机性和不确定性。因此,我们在分析的时候应该考虑到这些。所以,你拿着填补出来的数据来作为真实数据进行分析,无疑是错误的。说难听一点,就是在捏造事实和结果。
京剧

使用道具

13
wubuyun2009 发表于 2013-5-15 00:36:19 |只看作者 |坛友微信交流群
真没想到自己被批评了,我觉得自己挺冤枉的。
我是学习医学的,举的例子是147例病人的血小板在经过某项治疗后的变化。p1,p2,p3分别指第一天、第二天、第三天的血小板计数。根据完全数据得出血小板较治疗前是下降的。但是有约二十例病人的血小板计数有不同程度的缺失(病情相对较轻,可能不用每天监测,因此可能会造成偏倚),可能干扰结论(这项治疗会影响血小板)的判断。自己认为数据是随机缺失,因此自己做了多重填补。多重填补是充分利用同类数据变化的趋势,对每个值予以估计,最后分析整体的分布。自己仅仅希望通过多重填补来充分利用数据(但采用这种方法得到的结果需要慎重对待),比较治疗前与治疗后组间是否有差异。观察完全数据组的结论能否推及到所有的病人。
自己仍然坚持:拿多重填补后的数据进行组间差异性检验,并不认为是错误的。

使用道具

14
wubuyun2009 发表于 2013-5-15 00:42:22 |只看作者 |坛友微信交流群
回Howard7738:
插补后,因为MI后多重填补为5重填补,每一个缺失值有5个数值,所以最后最后N变成了5倍,但是平均数和方差应当是相同的。
自己仅仅做过这一次多重填补,经验不足,根据的是第二军医大学卫生统计教研室 曹阳等的“运用SAS对不完整数据集进行多重填补”的PDF文件。所以在MI过程帮忙的很少,能解释的很少,还请见谅。

使用道具

wubuyun2009 发表于 2013-5-15 00:36
真没想到自己被批评了,我觉得自己挺冤枉的。
我是学习医学的,举的例子是147例病人的血小板在经过某项治疗 ...
谢谢您的指点~对我的帮助很大~~谢谢

使用道具

16
jingju11 发表于 2013-5-18 05:51:47 |只看作者 |坛友微信交流群
wubuyun2009 发表于 2013-5-15 00:36
真没想到自己被批评了,我觉得自己挺冤枉的。
我是学习医学的,举的例子是147例病人的血小板在经过某项治疗 ...
不要往心里去。我只是瞎说。
如果你的数据是随时间的,也许分析那些有值的记录,也没有很大的损失。因为一个点缺失,其他的还在。另外,缺失也有信息。
也许你是对的。原则是,你在报告你的结果,应该准确的把你是如何弥补缺失的方法将清楚。因为许多杂志把不报告缺失的弥补方法视同类似的造假。
京剧

使用道具

17
Tigflanker 发表于 2013-6-14 23:21:19 |只看作者 |坛友微信交流群
对于纵向数据,

先用proc MI过程对数据集进行填补:若数据呈现单调缺失模式,采用参数回归法(Regression method),混合模式采用MCMC

再对填补好的数据进行正常的统计描述,例如ttest,glm,mixed,将估计得到的参数提取

最后对这些参数用proc MIANALYZE进行归纳,得到最终P值

填补次数建议10次以上,缺失程度小于20%,若数据基线不齐采用协方差估计。

MI的应用文献和实例很多,你可以就采用SAS自带的FISH的实例参考。
Bye SAS.
若有缘,能重聚。

使用道具

18
Howard7738 发表于 2013-7-4 08:47:06 |只看作者 |坛友微信交流群
最好从大数据集中导出需要做的变量,混在一起问题多

使用道具

19
小草来啦~ 发表于 2013-7-20 15:03:00 |只看作者 |坛友微信交流群
不好意思,我也在做数据填补,我想问一下上面程序中data ttest1_2;
        set outmpv;
        p01=p0-p1;
        p12=p1-p2;
        p23=p2-p3;
        p03=p0-p3;
        m01=m0-m1;
        m12=m1-m2;
        m23=m2-m3;
        m03=m0-m3;
proc ttest data=ttest1_2;
        var p01;
        var p12;
        var p23;
        var p03;
        var m01;
        var m12;
        var m23;
        var m03;
run;

这一块是什么意思?

  

使用道具

20
苏三庆 发表于 2016-3-28 20:51:29 |只看作者 |坛友微信交流群
Tigflanker 发表于 2013-6-14 23:21
对于纵向数据,

先用proc MI过程对数据集进行填补:若数据呈现单调缺失模式,采用参数回归法(Regressio ...
产生个10个数据集 我应该用哪个呢

使用道具

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

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

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

GMT+8, 2024-4-24 13:19