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