enter image description here

Data set details:

  • Zeros are "real" (volume)
  • Data set is heavily left skewed (even when zeros are excluded)
  • Response is continuous (volume)

Can anyone recommend a distribution family and link that I can use for glmer?

Alternatively, can assumptions of normality be ignored in this case (if I'm using lmer)?

Here is a histogram of the residuals from lmer(vol ~ status + (1|id), data=c) for species c

and for species m

  • $\begingroup$ residuals are from: lmer(vol ~ status + (1|id), data=data) $\endgroup$
    – JKO
    Mar 17, 2015 at 3:23

1 Answer 1


Assuming that you are describing conditional and not marginal distributions (i.e., if your response variable is y then hist(mydata$y) will not typically give you what you want; you should be concerned with the distribution around the expected values):

  • Changing the link function won't help you; it determines the dependence of location on predictors, not the conditional distribution
  • I would recommend a two-stage approach; use a binomial model to fit zero vs. non-zero, then use either a Gamma model (probably with a log link, it's much more stable than the canonical inverse link) or (more flexibly) transform your non-zero values to make them approximately Normal.
  • There are very few distributional models for positive data that admit zeros (Gamma, Weibull, log-Normal all give likelihood=zero for data exactly equal to zero, at least for some parameter regimes [LN always, Gamma and Weibull for shape<1]; in any case they don't account for a point mass (spike) at zero.
  • Similarly, some data transformations (Box-Cox) will break with non-positive data, others (Yeo-Johnson) won't break, but won't handle a pile of zeros gracefully.
  • The only real downside of the two-stage model is that the zero-vs-nonzero and conditional-if-nonzero models are completely independent.
  • If you want to stick with the Gaussian assumption, you could do something nonparametric (bootstrapping or permutation tests) to try to make your results robust to violations of distributional assumptions.
  • You could try a model based on a Tweedie distribution; check out the cpglmm function from the cplm package.
  • $\begingroup$ I'm trying to avoid breaking it up into two analyses if I can. $\endgroup$
    – JKO
    Mar 17, 2015 at 2:40
  • $\begingroup$ My residuals are not normal either. They look like negative binomial distributions... $\endgroup$
    – JKO
    Mar 17, 2015 at 2:42
  • $\begingroup$ A negative binomial probably (almost certainly) doesn't make sense for a continuously distributed response. Probably need to see some pictures before we can say anything else. $\endgroup$
    – Ben Bolker
    Mar 17, 2015 at 2:47
  • $\begingroup$ Ben, that's what I thought. I am having a hard time tracking down an equivalent distribution for continuous data $\endgroup$
    – JKO
    Mar 17, 2015 at 3:25
  • $\begingroup$ So, for "part two of the analysis, I've tried: glmer.1<-glmer(non_zero_vol ~ status + (1|id), data=data, family=Gamma(link = "log")); lmer.1 <- lmer(non_zero_vol ~ status + (1|id), data=data); and glmer.2<-glmer(non_zero_vol ~ status + (1|id), data=data, family=Gamma(link = "inverse")). $\endgroup$
    – JKO
    Mar 18, 2015 at 16:12

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.