This example uses the MCMC method to impute missing values for a data set with an arbitrary missing pattern. The following statements invoke the MI procedure and specify the MCMC method with six imputations:
proc mi data=Fitness1 seed=21355417 nimpute=6 mu0=50 10 180 ; mcmc chain=multiple displayinit initial=em(itprint); var Oxygen RunTime RunPulse; run;
The "Model Information" table in Output 56.9.1 describes the method used in the multiple imputation process. When you use the CHAIN=MULTIPLE option, the procedure uses multiple chains and completes the default 200 burn-in iterations before each imputation. The 200 burn-in iterations are used to make the iterations converge to the stationary distribution before the imputation.
Model Information | |
---|---|
Data Set | WORK.FITNESS1 |
Method | MCMC |
Multiple Imputation Chain | Multiple Chains |
Initial Estimates for MCMC | EM Posterior Mode |
Start | Starting Value |
Prior | Jeffreys |
Number of Imputations | 6 |
Number of Burn-in Iterations | 200 |
Seed for random number generator | 21355417 |
By default, the procedure uses a noninformative Jeffreys prior to derive the posterior mode from the EM algorithm as the starting values for the MCMC method.
The "Missing Data Patterns" table in Output 56.9.2 lists distinct missing data patterns with corresponding statistics.
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 | . | 4 | 12.90 | 47.109500 | 10.137500 | . |
3 | X | . | . | 3 | 9.68 | 52.461667 | . | . |
4 | . | X | X | 1 | 3.23 | . | 11.950000 | 176.000000 |
5 | . | X | . | 2 | 6.45 | . | 9.885000 | . |
When you use the ITPRINT option within the INITIAL=EM option, the procedure displays the "EM (Posterior Mode) Iteration History" table in Output 56.9.3.
EM (Posterior Mode) Iteration History | |||||
---|---|---|---|---|---|
_Iteration_ | -2 Log L | -2 Log Posterior | Oxygen | RunTime | RunPulse |
0 | 254.482800 | 282.909549 | 47.104077 | 10.554858 | 171.381669 |
1 | 255.081168 | 282.051584 | 47.104077 | 10.554857 | 171.381652 |
2 | 255.271408 | 282.017488 | 47.104077 | 10.554857 | 171.381644 |
3 | 255.318622 | 282.015372 | 47.104002 | 10.554523 | 171.381842 |
4 | 255.330259 | 282.015232 | 47.103861 | 10.554388 | 171.382053 |
5 | 255.333161 | 282.015222 | 47.103797 | 10.554341 | 171.382150 |
6 | 255.333896 | 282.015222 | 47.103774 | 10.554325 | 171.382185 |
7 | 255.334085 | 282.015222 | 47.103766 | 10.554320 | 171.382196 |
When you use the DISPLAYINIT option in the MCMC statement, the "Initial Parameter Estimates for MCMC" table in Output 56.9.4 displays the starting mean and covariance estimates used in the MCMC method. The same starting estimates are used in the MCMC method for multiple chains because the EM algorithm is applied to the same data set in each chain. You can explicitly specify different initial estimates for different imputations, or you can use the bootstrap method to generate different parameter estimates from the EM algorithm for the MCMC method.
Initial Parameter Estimates for MCMC | ||||
---|---|---|---|---|
_TYPE_ | _NAME_ | Oxygen | RunTime | RunPulse |
MEAN | 47.103766 | 10.554320 | 171.382196 | |
COV | Oxygen | 24.549967 | -5.726112 | -15.926036 |
COV | RunTime | -5.726112 | 1.781407 | 3.124798 |
COV | RunPulse | -15.926036 | 3.124798 | 83.164045 |
Output 56.9.5 and Output 56.9.6 display variance information and parameter estimates, respectively, from the multiple imputation.
Variance Information | |||||||
---|---|---|---|---|---|---|---|
Variable | Variance | DF | Relative Increase in Variance |
Fraction Missing Information |
Relative Efficiency |
||
Between | Within | Total | |||||
Oxygen | 0.051560 | 0.928170 | 0.988323 | 25.958 | 0.064809 | 0.062253 | 0.989731 |
RunTime | 0.003979 | 0.070057 | 0.074699 | 25.902 | 0.066262 | 0.063589 | 0.989513 |
RunPulse | 4.118578 | 4.260631 | 9.065638 | 7.5938 | 1.127769 | 0.575218 | 0.912517 |
Parameter Estimates | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Variable | Mean | Std Error | 95% Confidence Limits | DF | Minimum | Maximum | Mu0 | t for H0: Mean=Mu0 |
Pr > |t| | |
Oxygen | 47.164819 | 0.994145 | 45.1212 | 49.2085 | 25.958 | 46.858020 | 47.363540 | 50.000000 | -2.85 | 0.0084 |
RunTime | 10.549936 | 0.273312 | 9.9880 | 11.1118 | 25.902 | 10.476886 | 10.659412 | 10.000000 | 2.01 | 0.0547 |
RunPulse | 170.969836 | 3.010920 | 163.9615 | 177.9782 | 7.5938 | 168.252615 | 172.894991 | 180.000000 | -3.00 | 0.0182 |