# Correct glmer distribution family and link for a continuous zero-inflated data set

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)?

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

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.
• I'm trying to avoid breaking it up into two analyses if I can.
– JKO
Mar 17, 2015 at 2:40
• My residuals are not normal either. They look like negative binomial distributions...
– JKO
Mar 17, 2015 at 2:42
• 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. Mar 17, 2015 at 2:47
• Ben, that's what I thought. I am having a hard time tracking down an equivalent distribution for continuous data
– JKO
Mar 17, 2015 at 3:25
• 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")).
– JKO
Mar 18, 2015 at 16:12