BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
TZaihra
Fluorite | Level 6

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

1 ACCEPTED SOLUTION

Accepted Solutions
SteveDenham
Jade | Level 19

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

View solution in original post

11 REPLIES 11
Reeza
Super User

Post your full code and log.

TZaihra
Fluorite | Level 6

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

data_null__
Jade | Level 19

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.

SteveDenham
Jade | Level 19

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

SteveDenham
Jade | Level 19

And Reeza beats me AGAIN...

Reeza
Super User

But my answer is different, I said add it to the model, not repeated statement Smiley Happy

And you're usually right, experience beats speed :smileysilly:

TZaihra
Fluorite | Level 6

Hello Reeza & Steeve,

Bad News: Smiley SadI 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 Smiley Happy

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

SteveDenham
Jade | Level 19

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

TZaihra
Fluorite | Level 6

okay thanks a lot for your help Steve, it's much appreciated.Smiley Happy

Reeza
Super User

From the docs you need PRINTMLE in your model statement if you have the REPEATED statement.

Docs:

SAS/STAT(R) 9.22 User's Guide

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;

Alex_SC_Bios
Calcite | Level 5

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

Website: https://sites.google.com/site/alexmclain/home

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 11 replies
  • 13312 views
  • 10 likes
  • 5 in conversation