Reading many help pages, I see that a common way to correct for overdispersion is to fit models using quasibinomial or betabinomial distributions. However, I can't find help concerning how far correction is achieved nor how to be confident that a reliable model has been fitted.

I am interested in mutation data from many genes that fall into 10 ordered classes. Each observation comprises a number of bases surveyed (N) and the number of substitutions observed (S). Overdispersion is great (~22!) because the genes vary considerably in how fast they are evolving. There is also the issue that N also varies a lot from <100 up to >30,000.

I want to test the hypothesis that average substitution rate (S/N) increases with class number. I have tried the following options:

  1. (awful!) Ignore the fact the data are binomial, set a minimum N>=1000, and fit a Gaussian model with S/N as the response. Fit is poor, though arguably not dreadful.

  2. Use cbind(S, N-S) and fit a model with a quasibinomial error structure. Seems to give a similar answer that avoids the crazily low P-values I get when using family=binomial, but how do I know if the degree of correction is valid?

This seems a relatively simple problem, but I want to make sure the model is fitted properly and is, if anything, conservative.

  • 1
    $\begingroup$ it is better to set a minimum success and fail counts rather than sample size. It doesn't need to be too high either. Say $min(S,N-S)\geq 10$ should be fine for normal distribution to work well. $\endgroup$ – probabilityislogic Aug 8 '12 at 21:39
  • $\begingroup$ But, even if you do that, you should use a variance-stabilizing transformation, as I said in my response below. That may be an "old tecnology" from the times when generalized linear models where not readily available in software, but it is still a good approach, especially for simple models. If you have many regressors, a GLM might be better, because the parameters are easier to inyetrpret. $\endgroup$ – kjetil b halvorsen Oct 7 '12 at 17:25

Just one idea: You can use a variance-stabilizing transformation. If you have $X \sim \text{Bin}(n,p)$, then the variance-stabilizing transformation is $Y=\arcsin(\sqrt{x/n})$, and now you can use (possibly weighted, with the different $n$'s giving the weights) usual linear regression.

This is often effective, and the overdispersion is automatically taken care of.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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