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=40 mu0=50 10 180; mcmc chain=multiple displayinit initial=em(itprint); var Oxygen RunTime RunPulse; run;
The "Model Information" table in Output 75.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.
Output 75.9.1: Model Information
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 75.9.2 lists distinct missing data patterns with corresponding statistics.
Output 75.9.2: Missing Data Patterns
When you use the ITPRINT option within the INITIAL=EM option, the procedure displays the "EM (Posterior Mode) Iteration History" table in Output 75.9.3.
Output 75.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 75.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 75.9.4: Initial Parameter Estimates
Output 75.9.5 and Output 75.9.6 display variance information and parameter estimates, respectively, from the multiple imputation.
Output 75.9.5: Variance Information
Variance Information (40 Imputations) | |||||||
---|---|---|---|---|---|---|---|
Variable | Variance | DF | Relative Increase in Variance |
Fraction Missing Information |
Relative Efficiency |
||
Between | Within | Total | |||||
Oxygen | 0.020887 | 0.917452 | 0.938861 | 27.529 | 0.023336 | 0.022830 | 0.999430 |
RunTime | 0.001897 | 0.066931 | 0.068875 | 27.371 | 0.029045 | 0.028264 | 0.999294 |
RunPulse | 2.240072 | 3.674188 | 5.970262 | 16.273 | 0.624920 | 0.389201 | 0.990364 |
Output 75.9.6: Parameter Estimates
Parameter Estimates (40 Imputations) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Variable | Mean | Std Error | 95% Confidence Limits | DF | Minimum | Maximum | Mu0 | t for H0: Mean=Mu0 |
Pr > |t| | |
Oxygen | 47.106918 | 0.968949 | 45.1206 | 49.0933 | 27.529 | 46.817748 | 47.429633 | 50.000000 | -2.99 | 0.0059 |
RunTime | 10.558597 | 0.262440 | 10.0205 | 11.0967 | 27.371 | 10.467541 | 10.659412 | 10.000000 | 2.13 | 0.0424 |
RunPulse | 171.150201 | 2.443412 | 165.9775 | 176.3229 | 16.273 | 167.120956 | 174.569040 | 180.000000 | -3.62 | 0.0022 |