最近两天,陆陆续续有人问我缺失值怎么多重填补(Multiple Imputation, MI)?SPSS填补后到底该用哪个数据集?
缺失值是个很大的话题,方法很多内容更加庞杂,方法多的同时就意味着并没有完全形成统一的公认标准,同理类似方差分析两两比较。本文从SCI中最高频的多重填补方法进行案例展示,并用SPSS来完成缺失值多重填补及后续数据集的生成。
SPSS多重插补很多人都会第一步,网上各种教程也是停留在这一步,但是生成了5次插补数据后续该如何继续下去?全网都没有关于SPSS的后续操作教程。小编本文掏出珍藏了5年的家底,又重新逐步添加上说明文字,让本文既有菜单又有代码实现一键MI数据。是不是看到这里,你捡到宝了。
一、 SPSS多重填补菜单操作
1.1原始数据。
MIsample.sav数据为笔者若干年前data,随机抽取20人,重在展示如何一步步MI。原始数据如下。
1.2 MI填补分析模式
选择多重插补分析模式,进行缺失值的探索,将需要探索缺失值的变量选择进入分析各个变量框内,点击确定。提示总体缺失情况,5个变量中有4个变量均有不同程度的缺失。
1.3 插补缺失数据
将变量选入右侧变量框中,插补次数默认为5次,也就是最终生成5个插补后数据集,并命名为new,点击确定。这个时候,你会发现新生成的数据集,并且在右侧上角出现一个下拉框可以选择原始数据或者生成的5个插补数据进行分析了。MI选择的时候要注意,纳入一列无缺失的变量,这样可防止最后填补后依旧是不完全数据。
此时,在SPSS中生成5套数据后怎么进行分析呢,有三种后续操作。
“① 偷懒。直接选择填补Imputation_ =1 或2~5的某单次数据集进行操作。
② 可以把5套MI数据各模型做一遍,然后比较效应量择优选表现最好的某次,例如Imputation_ =1。
③ 推荐!考虑5次平均效应,将5次MI取平均值或中位数,优化为单独一次的新MI数据,再进行后续分析。本文着重介绍的是③法。
”
1.4. OMS操作
1)1.1-1.3为SPSS中执行的经典MI操作并获得多重插补文件。2)选择并删除原始数据行,即删除Imputation_=0。3)按“ID”和“插补次数”对多重插补文件进行排序 4)激活OMS并:a)选择表(输出类型)b)选择频率(命令标识符)c)选择统计信息(表子类型…) d)保存为新的数据集(给予它一个名字)e)在选项中选择“所有维度一行”f)选择“从查看器中排除”g)点击“添加”按钮(在屏幕的右中)并点击确定两次以完成。此时已经生成了一个活动的“批处理OMS”文件,相当于监控你后续操作,有frequency操作的时候就激活。5)返回到您的多重估算文件,并按“ID”选择“按组组织输出”将其拆分。6)然后在“分析”选项卡中选择“频率”,并选择平均数、中位数和众数。7)返回“实用程序”选项卡,选择“OMS控制面板”,然后单击屏幕右上角的“全部结束”选项卡。
此时会生成一个新的数据文件single,每个病例有一个条目,每个变量相应地汇总为一个平均值或众数。最后保留中位数或均数(连续变量)或众数(分类变量)的MI填补数据,再复制原始MIsample.sav变量视图的属性覆盖single数据的属性。
4.SPSS代码操作
如果你看上面的过程很繁琐,只需要更改下列SPSS 语法中红色部分变量名即可,一键完成上述菜单操作。最大最小值要手动输入。
5. 小结
一键多重填补.sps,一键自动生成填补5次后最优单个数据集,还不用起来吗?