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

Hi everyone:

 

I'd like to calculate incidence rates. I know it can be done using Proc GENMOD with Poisson and lsmeans, however my data is over-dispersed and it looks like negative binomial is the way I need to go. Is there a way to calculate incidence using negative binomial in Proc GENMOD? 

 

My variables are as follows:

  • Events: dependent variable, gives a count of events per 1000 person days
  • Disease: predictor variable, yes/no
  • Days: days of follow-up 

I'd like the incidence for the whole group as well as stratified by disease status. Suggestions?

 

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions
JacobSimonsen
Barite | Level 11

My suggestion is to use the poisson regression model - no matter whether you see overdisperson or not.

The reason for that that overdispersion is something that measure variance relative to mean for count-data. But here the data was time-to-event, which has been summarized by number of events and person-time. It can be analyzed with poisson regression assuming piecewice constant incidence rates, because the likelihood function for will be similar to what you would have if you assumed the count-data was poisson distributed. As you dont need the assumption of distribution it you also dont need to check for overdispersion.

 

It quite easy to simulate time to event data with some incidence rate, and estimate the incidencerate with confidence interval correctly, even that you may have a big over dispersion. The dispersion will depend on how much you have aggreated (for example 5 agegroup instead of 10), which can be completely arbitrary and irrelevant for the rate estimate and it std error. So, just use proc genmod with the dist=poisson, and remember the offset=logtime.

View solution in original post

3 REPLIES 3
unison
Lapis Lazuli | Level 10

Take a look here: https://stats.idre.ucla.edu/sas/dae/negative-binomial-regression/

 

There is an example of using proc genmod with a negative binomial distribution

 

...

proc genmod data = nb_data;
  class prog (param=ref ref=first);
  model daysabs = math prog / type3 dist=negbin;
run;

...

 

-unison

-unison
StatDave
SAS Super FREQ

That is done in exactly the same way as with a Poisson model as discussed in this note. Simply change the response distribution in GENMOD to DIST=NEGBIN. Otherwise, use the same LSMEANS statement.

JacobSimonsen
Barite | Level 11

My suggestion is to use the poisson regression model - no matter whether you see overdisperson or not.

The reason for that that overdispersion is something that measure variance relative to mean for count-data. But here the data was time-to-event, which has been summarized by number of events and person-time. It can be analyzed with poisson regression assuming piecewice constant incidence rates, because the likelihood function for will be similar to what you would have if you assumed the count-data was poisson distributed. As you dont need the assumption of distribution it you also dont need to check for overdispersion.

 

It quite easy to simulate time to event data with some incidence rate, and estimate the incidencerate with confidence interval correctly, even that you may have a big over dispersion. The dispersion will depend on how much you have aggreated (for example 5 agegroup instead of 10), which can be completely arbitrary and irrelevant for the rate estimate and it std error. So, just use proc genmod with the dist=poisson, and remember the offset=logtime.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 2649 views
  • 1 like
  • 4 in conversation