本站分享:大数据、数据分析师考试认证培训,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训广告位

缺失值处理的现代方法_spss缺失值处理方法

spss培训 cdadata 483℃ 0评论
缺失值处理的现代方法
关键词:spss缺失值处理方法,数据缺失的处理方法,缺失值处理方法
传统的方法存在种种不足,新的方法也在不断发展,其中最为研究者推崇的方法为多重填补(Multiple Imputation, MI)和极大似然估计(Allison, 2003; Graham, 2009; Schafer & Graham, 2002)。

极大似然估计

极大似然估计在处理缺失值数据时又称作全息极大似然估计(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缺失值处理方法

喜欢 (2)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 极大似然估计在处理缺失值数据时又称作全息极大似然估计(Full Information Maximum Likelihood, FIML),意指使用所有观测变量的全部信息。FIML同ML分析完整数据过程一样,只是在计算单个对数似然值时使用全部完整信息而不考虑缺失值(公示见,Enders, 2006, 2010)。因此,ML处理缺失值并非使用替代值将缺失填补,而是使用已知信息采用迭代的方式估计参数。FIML在MCAR和MAR下产生无偏和有效的参数估计值。当在非正态分布时,FIML需要使用同完整数据时的参数校正统计量(S-Bχ2等,见本章),Bootstrapping也是有效的策略之一。
    cdadata2016-05-27 10:41 回复