The MI Procedure

Example 57.10 Producing Monotone Missingness with MCMC

This example uses the MCMC method to impute just enough missing values for a data set with an arbitrary missing pattern so that each imputed data set has a monotone missing pattern based on the order of variables in the VAR statement.

The following statements invoke the MI procedure and specify the IMPUTE=MONOTONE option to create the imputed data set with a monotone missing pattern. You must specify a VAR statement to provide the order of variables in order for the imputed data to achieve a monotone missing pattern.

proc mi data=Fitness1 seed=17655417 out=outex10;
   mcmc impute=monotone;
   var Oxygen RunTime RunPulse;
run;

The Model Information table in Output 57.10.1 describes the method used in the multiple imputation process.

Output 57.10.1: Model Information

The MI Procedure

Model Information
Data Set WORK.FITNESS1
Method Monotone-data MCMC
Multiple Imputation Chain Single Chain
Initial Estimates for MCMC EM Posterior Mode
Start Starting Value
Prior Jeffreys
Number of Imputations 5
Number of Burn-in Iterations 200
Number of Iterations 100
Seed for random number generator 17655417


The Missing Data Patterns table in Output 57.10.2 lists distinct missing data patterns with corresponding statistics. Here, an X means that the variable is observed in the corresponding group, a . means that the variable is missing and will be imputed to achieve the monotone missingness for the imputed data set, and an O means that the variable is missing and will not be imputed. The table also displays group-specific variable means.

Output 57.10.2: Missing Data Patterns

Missing Data Patterns
Group Oxygen RunTime RunPulse Freq Percent Group Means
Oxygen RunTime RunPulse
1 X X X 21 67.74 46.353810 10.809524 171.666667
2 X X O 4 12.90 47.109500 10.137500 .
3 X O O 3 9.68 52.461667 . .
4 . X X 1 3.23 . 11.950000 176.000000
5 . X O 2 6.45 . 9.885000 .


As shown in the table in Output 57.10.2, the MI procedure needs to impute only three missing values from group 4 and group 5 to achieve a monotone missing pattern for the imputed data set.

When you use the MCMC method to produce an imputed data set with a monotone missing pattern, tables of variance information and parameter estimates are not created.

The following statements are used just to show the monotone missingness of the output data set outex10:

proc mi data=outex10 seed=15541 nimpute=0;
   var Oxygen RunTime RunPulse;
run;

The Missing Data Patterns table in Output 57.10.3 displays a monotone missing data pattern.

Output 57.10.3: Monotone Missing Data Patterns

The MI Procedure

Missing Data Patterns
Group Oxygen RunTime RunPulse Freq Percent Group Means
Oxygen RunTime RunPulse
1 X X X 110 70.97 46.152428 10.861364 171.863636
2 X X . 30 19.35 47.796038 10.053333 .
3 X . . 15 9.68 52.461667 . .


The following statements impute one value for each missing value in the monotone missingness data set outex10:

proc mi data=outex10 nimpute=1 seed=51343672 out=outex10a;
   monotone method=reg;
   var Oxygen RunTime RunPulse;
   by _Imputation_;
run;

You can then analyze these data sets by using other SAS procedures and combine these results by using the MIANALYZE procedure. Note that the VAR statement is required with a MONOTONE statement to provide the variable order for the monotone missing pattern.