The MIANALYZE Procedure

Example 76.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:

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

Because of the ODS SELECT statements, no output is displayed. The ODS OUTPUT statement creates two SAS data sets, named mixparms and mixcovb, from the two ODS tables. The following statements display (in Output 76.4.1) output parameter estimates 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 76.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 76.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 76.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 76.4.3 displays the between-imputation, within-imputation, and total variances for combining complete-data inferences.

Output 76.4.3: Variance Information

The MIANALYZE Procedure

Variance Information (25 Imputations)
Parameter Variance DF Relative
Increase
in Variance
Fraction
Missing
Information
Relative
Efficiency
Between Within Total
Intercept 1457.114815 4592.351134 6107.750541 18.748 0.329983 0.251939 0.990023
RunTime 12.937905 43.960426 57.415848 19.175 0.306080 0.237831 0.990576
RunPulse 0.045956 0.152072 0.199867 19.026 0.314288 0.242732 0.990384
RunTime*RunPulse 0.000409 0.001447 0.001872 19.398 0.293964 0.230483 0.990865



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

Output 76.4.4: Parameter Estimates

Parameter Estimates (25 Imputations)
Parameter Estimate Std Error 95% Confidence Limits DF Minimum Maximum Theta0 t for H0:
Parameter=Theta0
Pr > |t|
Intercept 155.866055 78.152099 -7.8574 319.5895 18.748 64.360719 207.413571 0 1.99 0.0609
RunTime -9.265145 7.577325 -25.1149 6.5846 19.175 -14.937943 -1.127010 0 -1.22 0.2362
RunPulse -0.443201 0.447065 -1.3788 0.4924 19.026 -0.738608 0.081597 0 -0.99 0.3340
RunTime*RunPulse 0.035841 0.043272 -0.0546 0.1263 19.398 -0.010690 0.068289 0 0.83 0.4176



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;