Statistical Procedures

Programming the statistical procedures from SAS
BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
lone0708
Fluorite | Level 6

Hi All, 

I am sorry for a novice question, but i am having trouble interpreting the output of my proc genmod...

I am modelling the probability of being a case (case = 1, non case = 0) and estimating the trend in cases through a 15 year period of non-independent data using proc genmod and GEE modelling. I have one covariate, that might explain the trend. 

 

ods output GEEEmpPEst=output;
proc genmod data = have descending;
class id year (ref="2005") covariate (ref="0");
model case =year / dist = bin
                              link = id
                              lrci;
repeated subject = id;
run;

 My output is an

intercept estimate, estimates for every year, estimates for the covariate.

 

But which estimate is the trend estimate? Meaning the trend in cases increases XX% pr year.

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
SteveDenham
Jade | Level 19

You will probably want to remove "year" from the CLASS statement.  This would fit year as a linear continuous variable (=trend).  If you need ORs at specific years, you can use an LSMEANS statement with AT= and ODDSRATIO options.

 

I don't see "covariate" in your MODEL statement, so I am at a bit of a loss to see how you got an estimate for it.  In any case, if you believe the covariate may affect the trend, try fitting the following 

 

ods output GEEEmpPEst=output;
proc genmod data = have descending;
class id year (ref="2005") covariate (ref="0");
model case =year covariate covariate*year / dist = bin
                              link = id
                              lrci;
repeated subject = id;
run;

The result for covariate will indicate change in the intercept, and covariate*year will give the difference in the slopes compared to the reference value of covariate.

 

SteveDenham

View solution in original post

3 REPLIES 3
SteveDenham
Jade | Level 19

You will probably want to remove "year" from the CLASS statement.  This would fit year as a linear continuous variable (=trend).  If you need ORs at specific years, you can use an LSMEANS statement with AT= and ODDSRATIO options.

 

I don't see "covariate" in your MODEL statement, so I am at a bit of a loss to see how you got an estimate for it.  In any case, if you believe the covariate may affect the trend, try fitting the following 

 

ods output GEEEmpPEst=output;
proc genmod data = have descending;
class id year (ref="2005") covariate (ref="0");
model case =year covariate covariate*year / dist = bin
                              link = id
                              lrci;
repeated subject = id;
run;

The result for covariate will indicate change in the intercept, and covariate*year will give the difference in the slopes compared to the reference value of covariate.

 

SteveDenham

lone0708
Fluorite | Level 6
Thank you for the answer,
When i remove year from the statement, I get one estimate for the intercept, one for year and one for the covariate.
Is the intercept = trend estimate ?
StatDave
SAS Super FREQ
No. The Year parameter estimate is the trend in the case probability over time.

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1113 views
  • 1 like
  • 3 in conversation