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 63.10.1 describes the method used in the multiple imputation process.
Output 63.10.1: Model Information
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 63.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.
As shown in the table in Output 63.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 63.10.3 displays a monotone missing data pattern.
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.