I ran some models for my count data, and did some diagnostics to check for overdispersion.

Here is a dharma graph, which as I understand, indicates no overdispersion. enter image description here

And this is the result I get when running overdisp(model1)

dispersion ratio = 1.2987
Pearson's Chi-Squared = 496.1125
p-value = 0.0001

Overdispersion detected.

the model looks like this:

model1 <- glmmTMB(species~ var1 + var2 + var3 + var4 + var5 + var6 + var7 + var8 + (1|randomeffect), family = "poisson", data = plants)

Why does it happen? Which method should I trust?


1 Answer 1


I'm the developer of DHARMa. First of all: note that results are not actually conflicting - a non-significant test doesn't mean that there is no overdispersion, it just means just that the respective test is not sure there is.

Specifically, DHARMa and overdisp or the newer performance::check_overdispersion perform different tests, and what you see is that one test shows that there is evidence for a problem, while the other one doesn't. I have just made a few simulations and can confirm that performance::check_overdispersion is more sensitive in some situations.

Thus, in doubt, I would treat your results as a problem, although I would also note that you will practically always get some significant deviations as soon as you have enough data. A dispersion parameter of 1.3 is relatively small, but given that a correction is easy (moving to nbinom), I don't see why you wouldn't do that.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.