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 63.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.
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 63.9.2 lists distinct missing data patterns with corresponding statistics.
When you use the ITPRINT option within the INITIAL=EM option, the procedure displays the "EM (Posterior Mode) Iteration History" table in Output 63.9.3.
Output 63.9.3: EM (Posterior Mode) Iteration History
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 63.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.
Output 63.9.5 and Output 63.9.6 display variance information and parameter estimates, respectively, from the multiple imputation.
Output 63.9.5: Variance Information
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 |
Output 63.9.6: Parameter Estimates
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 |