极大似然估计
极大似然估计在处理缺失值数据时又称作全息极大似然估计(Full Information Maximum Likelihood, FIML),意指使用所有观测变量的全部信息。FIML同ML分析完整数据过程一样,只是在计算单个对数似然值时使用全部完整信息而不考虑缺失值(公示见,Enders, 2006, 2010)。因此,ML处理缺失值并非使用替代值将缺失填补,而是使用已知信息采用迭代的方式估计参数。FIML在MCAR和MAR下产生无偏和有效的参数估计值。当在非正态分布时,FIML需要使用同完整数据时的参数校正统计量(S-Bχ2等,见本章),Bootstrapping也是有效的策略之一。
FIML法包含辅助变量的分析使用Graham (2003)提出的饱和相关模型(Saturated Correlates),即将辅助变量纳入模型中,同时允许辅助变量间、辅助变量与外生观测指标以及内生观测指标的测量误差相关。假设第5章PTSD例子的数据存在缺失值,同时假定性别和年龄为辅助变量,表9-5给了使用FIML估计DSM三因子结构的Mplus程序。
表9-5 FIML处理缺失值的Mplus语句
TITLE: CFA Model With Missing Data;
DATA: FILE IS PTSD with Missing.dat; VARIABLE: NAME are gender age y1-y17; USEVARIABLES = y1-y17; MISSING = ALL (9); AUXILIARY = (m) gender age; !设置自动包含辅助变量,(m)指定缺失分析的辅助变量。也可在模型中设置辅助变量与指标的相关,见(Enders, 2010,例5-14) ANALYSIS: TYPE = missing;!第5版之后此项为默认设置; ESTIMATOR = ML; !非正态时可以选用MLM或MLR等; INFORMATION =observed; !Mplus提供Expected和Observed两种信息矩阵,两者的区别在于计算标准误时依据的缺失值机制不同,期望矩阵的要求是MCAR而观测依据的是MAR,所以通常使用的Observed矩阵(Enders, 2010)。 BOOTSTRAP = 500 (residual); !获得BOOTSTRAP标准误; MODEL: F1 by y1-y5*; F2 by y6-y12*; F3 by y13-y17*; F1-F3@ 1; OUTPUT: sampstat standardized; |
多重插补法(Multiple Imputation, MI)
该方法由Rubin(1987)最早提出,假设在数据随机缺失情况下,用两个或更多能反映数据本身概率分布的值来填补缺失值的方法。一个完整的MI包含三步:数据填补(Imputation Phase),计算(Analysis Phase)和汇总(Pooling Phase)。数据填补是关键一步,对每一个缺失数据填补m( m > 1)次。每次填补将产生一个完全数据集,以此类推,共产生m个完全数据集。第二步,对每一个完全数据集采用标准的完全数据分析方法进行分析。第三步,将所每次分析得到的结果进行综合,得到最终的统计推断。根据数据缺失机制、模式以及变量类型,可分别采用回归、预测均数匹配( predictive mean matching, PMM )、趋势得分( propensity score, PS )、Logistic回归、判别分析以及马尔可夫链蒙特卡罗( Markov Chain Monte Carlo, MCMC) 等不同的方法进行填补。与FIML不同,MI采用填补缺失值的方法。MI要求数据缺失为MAR,如果采用ML估计同样要求数据分布符合多元正态分布假设,但研究发现违反正态性假设对MI参数精确性影响不大(Demirtas, Freels, & Yucel, 2008; Schafer, 1997)。另外一个影响估计精确性的因素是缺失率,Demirtas等(2008)的研究发现缺失率高达25%仍能得到精确的参数估计结果。
在具体使用MI时需要考虑m的次数,类似Bootstrapping抽样,理论上来说m的数量越多估计越精确,但太大的数量会增加计算负荷,模拟研究指出m = 20在多数情况下是合适的(Graham, Olchowski, & Gilreath, 2007)。
在Mplus中执行MI需要两步,第一步数据插补,第二步使用第一步插补的数据集估计计算并输出汇总结果,两步的Mplus语句呈现在表9-6中。
表9-6 多重插补法处理缺失值的Mplus语句
TITLE: CFA Model With Missing Data;
DATA: FILE IS PTSD with Missing.dat; VARIABLE: NAME are gender age y1-y17; USEVARIABLES = y1-y17; MISSING = ALL (9); AUXILIARY = (m) gender age; !括号内的m表示其后的变量作为缺失值的辅助变量。 DATA IMPUTATION: IMPUTE = y1-y17; !设置存在缺失值的变量进行插补,如果是类别变量在变量名后加“(C)”。 NDATASETS = 50; !设置m = 50,默认值为5; save = PTSDimp*.dat; !设置插补的50个数据集保存文件名,“*”将被数值替换。 ANALYSIS: type = basic; ! SEED FOR DATA AUGMENTATION ALGORITHM; bseed = 79566; ! NUMBER OF DATA AUGMENTATION CHAINS; chains = 1; |
TITLE: Summary Statistics with Multiply Imputed Data;
DATA: FILE IS PTSDimplist.dat;使用第一步保存的插补数据文件集; TYPE = imputation;进行MI设置; VARIABLE: NAME are gender age y1-y17; USEVARIABLES = y1-y17; ANALYSIS: ESTIMATOR = ML; INFORMATION = observed; 标准误基于观测信息矩阵; MODEL: F1 by y1-y5*; F2 by y6-y12*; F3 by y13-y17*; F1-F3@ 1; OUTPUT: STANDARDIZED; |
转载请注明:数据分析 » 缺失值处理的现代方法_spss缺失值处理方法