The MIANALYZE Procedure

Example 64.4 Reading Mixed Model Results from PARMS= and COVB= Data Sets

This example creates data sets that contains parameter estimates and covariance matrices computed by a mixed model analysis for a set of imputed data sets. These estimates are then combined to generate valid statistical inferences about the parameters.

The following PROC MIXED statements generate the fixed-effect parameter estimates and covariance matrix for each imputed data set:

proc mixed data=outmi;
   model Oxygen= RunTime RunPulse RunTime*RunPulse/solution covb;
   by _Imputation_;
   ods output SolutionF=mixparms CovB=mixcovb;
run;

The following statements display (in Output 64.4.1) output parameter estimates from PROC MIXED for the first two imputed data sets:

proc print data=mixparms (obs=8);
   var _Imputation_ Effect Estimate StdErr;
   title 'MIXED Model Coefficients (First Two Imputations)';
run;

Output 64.4.1: PROC MIXED Model Coefficients

MIXED Model Coefficients (First Two Imputations)

Obs _Imputation_ Effect Estimate StdErr
1 1 Intercept 148.09 81.5231
2 1 RunTime -8.8115 7.8794
3 1 RunPulse -0.4123 0.4684
4 1 RunTime*RunPulse 0.03437 0.04517
5 2 Intercept 64.3607 64.6034
6 2 RunTime -1.1270 6.4307
7 2 RunPulse 0.08160 0.3688
8 2 RunTime*RunPulse -0.01069 0.03664



The following statements display (in Output 64.4.2) the output covariance matrices associated with the parameter estimates from PROC MIXED for the first two imputed data sets:

proc print data=mixcovb (obs=8);
   var _Imputation_ Row Effect Col1 Col2 Col3 Col4;
   title 'Covariance Matrices (First Two Imputations)';
run;

Output 64.4.2: PROC MIXED Covariance Matrices

Covariance Matrices (First Two Imputations)

Obs _Imputation_ Row Effect Col1 Col2 Col3 Col4
1 1 1 Intercept 6646.01 -637.40 -38.1515 3.6542
2 1 2 RunTime -637.40 62.0842 3.6548 -0.3556
3 1 3 RunPulse -38.1515 3.6548 0.2194 -0.02099
4 1 4 RunTime*RunPulse 3.6542 -0.3556 -0.02099 0.002040
5 2 1 Intercept 4173.59 -411.46 -23.7889 2.3441
6 2 2 RunTime -411.46 41.3545 2.3414 -0.2353
7 2 3 RunPulse -23.7889 2.3414 0.1360 -0.01338
8 2 4 RunTime*RunPulse 2.3441 -0.2353 -0.01338 0.001343



Note that the variables Col1, Col2, Col3, and Col4 are used to identify the effects Intercept, RunTime, RunPulse, and RunTime*RunPulse, respectively, through the variable Row.

For univariate inference, only parameter estimates and their associated standard errors are needed. The following statements use the MIANALYZE procedure with the input PARMS= data set to produce univariate results:

proc mianalyze parms=mixparms edf=28;
   modeleffects Intercept RunTime RunPulse RunTime*RunPulse;
run;

The "Variance Information" table in Output 64.4.3 displays the between-imputation, within-imputation, and total variances for combining complete-data inferences.

Output 64.4.3: Variance Information

The MIANALYZE Procedure

Variance Information
Parameter Variance DF Relative
Increase
in Variance
Fraction
Missing
Information
Relative
Efficiency
Between Within Total
Intercept 1972.654530 4771.948777 7139.134213 11.82 0.496063 0.365524 0.931875
RunTime 14.712602 45.549686 63.204808 13.797 0.387601 0.305893 0.942348
RunPulse 0.062941 0.156717 0.232247 12.046 0.481948 0.358274 0.933136
RunTime*RunPulse 0.000470 0.001490 0.002055 13.983 0.378863 0.300674 0.943276



The "Parameter Estimates" table in Output 64.4.4 displays the estimated mean and standard error of the regression coefficients.

Output 64.4.4: Parameter Estimates

Parameter Estimates
Parameter Estimate Std Error 95% Confidence Limits DF Minimum Maximum Theta0 t for H0:
Parameter=Theta0
Pr > |t|
Intercept 136.071356 84.493397 -48.3352 320.4779 11.82 64.360719 186.549814 0 1.61 0.1337
RunTime -7.457186 7.950145 -24.5322 9.6178 13.797 -11.514341 -1.127010 0 -0.94 0.3644
RunPulse -0.328104 0.481920 -1.3777 0.7215 12.046 -0.602162 0.081597 0 -0.68 0.5089
RunTime*RunPulse 0.025364 0.045328 -0.0719 0.1226 13.983 -0.010690 0.047429 0 0.56 0.5846



Since each covariance matrix contains variables Row, Col1, Col2, Col3, and Col4 for parameters, the EFFECTVAR=ROWCOL option is needed when you specify the COVB= option. The following statements illustrate the use of the MIANALYZE procedure with input PARMS= and COVB(EFFECTVAR=ROWCOL)= data sets:

proc mianalyze parms=mixparms edf=28
               covb(effectvar=rowcol)=mixcovb;
   modeleffects Intercept RunTime RunPulse RunTime*RunPulse;
run;