Programming the statistical procedures from SAS

proc genmod with repeated measures... do I need to worry about overdispersion?

Posts: 1

proc genmod with repeated measures... do I need to worry about overdispersion?

I am conducting an analysis of the effect of sex on number of dispersal events in a rodent.  Basically, we're interested in seeing whether males or females travel more between communities.  There are repeated measures because individuals were followed on multiple nights, and the dependent variable is the number of visits per night.  It's unclear to me whether I need to worry about overdispersion with the repeated measures model.  I understand that the typical ways of testing for overdispersion (goodness of fit tests with deviance or pearson stats) aren't appropriate, and it seems that using a repeated measures analysis is typically considered a way of combatting overdispersion.  So should I just not worry about it?  Code is below...  

proc genmod data = nvissex;

class ssex sname;

model nvis = ssex/dist=poisson link=log type3;

repeated subject = sname/type=ar(1) corrw;

lsmeans ssex/diff cl;



nvis = visits per night

ssex = sex (male or female)

sname = individual ID

Respected Advisor
Posts: 2,655

Re: proc genmod with repeated measures... do I need to worry about overdispersion?

Since you use ar(1) as a covariance structure, you implicitly ignore overdispersion.  What does an exploratory step of calculating means and variances at each time point show?  Are the means and variances approximately equal, both within and between timepoints?  If so, overdispersion is probably not an issue.  If the variances are consistently larger than the means, you may need to consider a negative binomial distribution.  If the variances look substantially different at the time points, then the ar(1) covariance structure may be inadequately fitting your results.  You may wish to consider moving to PROC GLIMMIX, which has a wider variety of possible variance-covariance structures.  In particular, you may need to consider type=arh(1), if your timepoints are evenly spaced, or sp(pow) if they are unevenly spaced.


proc glimmix data = nvissex ic=q;

class ssex sname;

model nvis = ssex/dist=poisson;

random sname/residual subject=sname type=ar(1) /*or other structures*/;

lsmeans ssex/diff cl ilink;


Look at the information criteria, including the generalized chi-square/Df.  If this is extremely large, you have a good case for overdispersion.

Good luck.

Steve Denham

Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation