Dear All,
I am trying to write ods output while using proc genmod by imputation number, while it does generate ods output COVB =gmcovb matrix.
I keep getting the following error
Output 'ParameterEstimates' was not created. Make sure that the output object name, label,
or path is spelled correctly. Also, verify that the appropriate procedure options are used
to produce the requested output object. For example, verify that the NOPRINT option is not
used.
Any suggestion will be appreciated please.
Thanks
Tasneem
Right direction, but very obscure. Try adding the PRINTMLE option to the REPEATED statement. It looks like that is necessary to generate the ParameterEstimates output and dataset when fitting a GEE model.
Steve Denham
Post your full code and log.
Dear Reeza,
Thank you for responding to my query. Following is the code I am using:
proc genmod data=asthma.long_imputed descending;
by _imputation_;
title " GEE Model for repeated measures on Patients who are Nested within Physicians with data @ both times";
class gender grage gr_revenu2 SM02 cardiac_related_condition PHYSICIAN NAM PATIENT NEUROTIC_DISORDER;
MODEL FOLLOWUP_T1_12M_OOC = gender grage gr_revenu2 SM02 cardiac_related_condition NEUROTIC_DISORDER
centred_AC centred_AQ centred_BM centred_SE centred_SE*centred_AC /dist=BIN covb;
/*B(A)= B is nested within A*/
Repeated subject=PATIENT(PHYSICIAN) / corr=exch corrw;
ods output ParameterEstimates=pe ;
ods output COVB =gmcovb;
run;
And below is the warning msg I get.
WARNING: Output 'ParameterEstimates' was not created. Make sure that the output object name, label,
or path is spelled correctly. Also, verify that the appropriate procedure options are used
to produce the requested output object. For example, verify that the NOPRINT option is not
used.
I would really appreciate your help.
Best Regards,
Tasneem
I don't know about GENMOD but other "regression" procedures sometimes require an option on the model statement to see the parameter estimates.
SOLUTION is a common option for that.
Right direction, but very obscure. Try adding the PRINTMLE option to the REPEATED statement. It looks like that is necessary to generate the ParameterEstimates output and dataset when fitting a GEE model.
Steve Denham
And Reeza beats me AGAIN...
But my answer is different, I said add it to the model, not repeated statement
And you're usually right, experience beats speed :smileysilly:
Hello Reeza & Steeve,
Bad News: I tried adding printmle option to the model and SAS odesn't like it(it's not blue) and I get the following error:
ERROR 22-322: Syntax error, expecting one of the following: ;, A, AGGREGATE, ALPH, ALPHA, CICONV, CL,
CLCONV, CODING, CONVERGE, CONVH, CORRB, COVB, D, DIAGNOSTICS, DIST, DSCALE, ERR, ERROR,
EXACTMAX, EXPECTED, ID, INFLUENCE, INITIAL, INTERCEPT, ITPRINT, LINK, LOGNB, LRCI,
LRCL, MAXIT, MAXITER, NOINT, NOLOGNB, NOPRINTCL, NOSCALE, OBSTAT, OBSTATS, OFFSET, P,
PRED, PREDICTED, PSCALE, R, RESIDUAL, RORDER, SCALE, SCORING, SINGULAR, TYPE1, TYPE3,
TYPE3WALD, WALD, WALDCI, WALDCL, XVARS.
ERROR 202-322: The option or parameter is not recognized and will be ignored.
4026
Good News: Hurray!!!!!! It works when I add it to the repeated statement..Thanks a lot Steeve
Just out of curiosity ..from the ods output table for proc genmod it seems the parameterestimates is default so why should one need to ask for it in the model or repeated statement like we ask for covb?
Thanks for your guidance..
Under a GEE model, the parameter estimates aren't generated the same way as under the ordinary (non-repeated) method. Thus, you have to printmle (print maximum likelihood estimates) to even get the correct parameter estimates.
Steve Denham
okay thanks a lot for your help Steve, it's much appreciated.
From the docs you need PRINTMLE in your model statement if you have the REPEATED statement.
Docs:
proc genmod data=asthma.long_imputed descending;
by _imputation_;
title " GEE Model for repeated measures on Patients who are Nested within Physicians with data @ both times";
class gender grage gr_revenu2 SM02 cardiac_related_condition PHYSICIAN NAM PATIENT NEUROTIC_DISORDER;
MODEL FOLLOWUP_T1_12M_OOC = gender grage gr_revenu2 SM02 cardiac_related_condition NEUROTIC_DISORDER
centred_AC centred_AQ centred_BM centred_SE centred_SE*centred_AC /dist=BIN covb printmle;
/*B(A)= B is nested within A*/
Repeated subject=PATIENT(PHYSICIAN) / corr=exch corrw;
ods output ParameterEstimates=pe ;
ods output COVB =gmcovb;
run;
I just came across this thread and wanted to chime in on the use of the ParameterEstimates table with Proc Genmod in a Multiple Imputation analysis.
The ParameterEstimates table gives the initial parameter estimates. That is, from an MLE procedure ignoring the correlation in the data. Proc Genmod uses these parameter estimates as initial values in the GEE procedure, which correctly accounts for the correlation when the "repeated" statement is used.
Long story short, when a repeated statement is used you SHOULD NOT use the ParameterEstimates table as the input into proc mianalyze. These estimates ignore the correlation structure, and the GEEEmpPEst table should be used. Same with the COVB table (this is from the initial MLE procedure), instead use the GEERCov as the input into mianalyze. The COVB will significantly underestimate the variances.
-Alex
Alexander C. McLain, Ph.D.
Assistant Professor
Department of Epidemiology and Biostatistics
Arnold School of Public Health
University of South Carolina
Phone: (803) 777-1124
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Select SAS Training centers are offering in-person courses. View upcoming courses for: