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
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;