當我們的資料量較小的時候,我們不想直接把缺失值刪掉,而是想通過一定的技術手段將這些資料補全,統計中用到的最多的就是多重插補法。下面我將為大家演示在mplus中如何進行多重插補計算。
工具/原料
mplus 7.0
方法/步驟
多重插補的方法假設在資料隨機缺失的情況下,用兩個或更多能夠反映資料本身概率分佈的值來填補缺失值的方法。一個完整的多重填補法包括三步:資料填補,計算和彙總。資料填補是關鍵一步。
下面是第一步插補的語句
title: this is the 4EF multiple imputation first step;
data: file is ptsdmplus檔案1.txt;
variable: name are ID EF1_1-EF1_8 ;!定義變數名稱
USEVARIABLES= EF1_1-EF1_8 ;!定義需要插補的變數
MISSING=ALL(999);!定義插補的缺失值
CATEGORICAL= EF1_1-EF1_8 ;!定義分類變數(假如是連續變數就不需要進行設定
data imputation:!這一步是生成插補資料
impute= EF1_1-EF1_8(c);!在分類資料後加上(c)
ndatasets=50;!設定插補的次數,預設為5次
save=pstdIMP*.dat;!設定插補後的50個數據集儲存檔名,“*”將被數值替代。
analysis: type=basic;
bseed=79566;
chains=1;
第二步使用第一步插補的資料集估計並輸出彙總結果。
title: this is the MI second step:
data: file is pstdIMPlist.dat;!將上面差生的資料檔名的*號改成list
type=imputation;
variable: name are EF1_1-EF1_8 ;!這個時候是對插補後的資料進行分析,那麼就沒有ID變量了,此處應注意
CATEGORICAL= EF1_1-EF1_8 ;
analysis:estimator=WLSMV;!對於分類的資料我們採用穩健最大二乘法進行估計,假如是連續型的資料,則無需定義,直接預設為ML就行
INFORMATION=OBSERVED;!標準誤基於觀測資訊矩陣;
MODEL:EF1 BY EF1_1-EF1_8*;
EF2 BY EF2_1-EF2_3*;
EF3 BY EF3_3-EF3_5*;
EF4 BY EF4_1-EF4_4*;
OUTPUT: STANDARDIZED;