This example creates data sets that contains parameter estimates and corresponding covariance matrices computed by a generalized linear model analysis for a set of imputed data sets. These estimates are then combined to generate valid statistical inferences about the model parameters.
The following statements use PROC GENMOD to generate the parameter estimates and covariance matrix for each imputed data set:
proc genmod data=outmi; model Oxygen= RunTime RunPulse/covb; by _Imputation_; ods output ParameterEstimates=gmparms ParmInfo=gmpinfo CovB=gmcovb; run;
The following statements print (in Output 57.5.1) the output parameter estimates and covariance matrix from PROC GENMOD for the first two imputed data sets:
proc print data=gmparms (obs=8); var _Imputation_ Parameter Estimate StdErr; title 'GENMOD Model Coefficients (First Two Imputations)'; run;
GENMOD Model Coefficients (First Two Imputations) |
Obs | _Imputation_ | Parameter | Estimate | StdErr |
---|---|---|---|---|
1 | 1 | Intercept | 86.5440 | 9.5107 |
2 | 1 | RunTime | -2.8223 | 0.3120 |
3 | 1 | RunPulse | -0.0587 | 0.0556 |
4 | 1 | Scale | 2.6692 | 0.3390 |
5 | 2 | Intercept | 83.0207 | 8.4489 |
6 | 2 | RunTime | -3.0002 | 0.3217 |
7 | 2 | RunPulse | -0.0249 | 0.0488 |
8 | 2 | Scale | 2.5727 | 0.3267 |
The following statements display the parameter information table in Output 57.5.2. The table identifies parameter names used in the covariance matrices. The parameters Prm1, Prm2, and Prm3 are used for the effects Intercept, RunTime, and RunPulse, respectively, in each covariance matrix.
proc print data=gmpinfo (obs=6); title 'GENMOD Parameter Information (First Two Imputations)'; run;
GENMOD Parameter Information (First Two Imputations) |
Obs | _Imputation_ | Parameter | Effect |
---|---|---|---|
1 | 1 | Prm1 | Intercept |
2 | 1 | Prm2 | RunTime |
3 | 1 | Prm3 | RunPulse |
4 | 2 | Prm1 | Intercept |
5 | 2 | Prm2 | RunTime |
6 | 2 | Prm3 | RunPulse |
The following statements display (in Output 57.5.3) the output covariance matrices from PROC GENMOD for the first two imputed data sets. Note that the GENMOD procedure computes maximum likelihood estimates for each covariance matrix.
proc print data=gmcovb (obs=8); var _Imputation_ RowName Prm1 Prm2 Prm3; title 'GENMOD Covariance Matrices (First Two Imputations)'; run;
GENMOD Covariance Matrices (First Two Imputations) |
Obs | _Imputation_ | RowName | Prm1 | Prm2 | Prm3 |
---|---|---|---|---|---|
1 | 1 | Prm1 | 90.453923 | -0.483394 | -0.497473 |
2 | 1 | Prm2 | -0.483394 | 0.0973159 | -0.003113 |
3 | 1 | Prm3 | -0.497473 | -0.003113 | 0.0030954 |
4 | 1 | Scale | 1.344E-15 | -1.09E-17 | -6.12E-18 |
5 | 2 | Prm1 | 71.383332 | -0.603037 | -0.378616 |
6 | 2 | Prm2 | -0.603037 | 0.1034766 | -0.002826 |
7 | 2 | Prm3 | -0.378616 | -0.002826 | 0.0023843 |
8 | 2 | Scale | 1.602E-14 | 1.755E-16 | -1.02E-16 |
The following statements use the MIANALYZE procedure with input PARMS=, PARMINFO=, and COVB= data sets:
proc mianalyze parms=gmparms covb=gmcovb parminfo=gmpinfo; modeleffects Intercept RunTime RunPulse; run;
Since the GENMOD procedure computes maximum likelihood estimates for the covariance matrix, the EDF= option is not used. The resulting model coefficients are identical to the estimates in Output 57.3.3 in Example 57.3. However, the standard errors are slightly different because in this example, maximum likelihood estimates for the standard errors are combined without the EDF= option, whereas in Example 57.3, unbiased estimates for the standard errors are combined with the EDF= option.