I'm trying to run a GLMM with a response variable that is left-skewed. Eventually this model will form part of a piecewise structural equation model (using piecewiseSEM).

I have data from 480 plots, and the response variable is the cover of grass (cover) assessed using Braun-Blanquet cover scores ranging between 0-6 (i.e. 0 = 0% cover, 1 = <1% cover, 2 = 1-6% cover, ...., 6 = 75-100% cover). Even though it's technically ordinal categorical data, piecewiseSEM tutorials suggest treating this type of data as a continuous variable treating the categories as numbers, because piecewiseSEM can't include categorical data (find the tutorial here).

My two response variables are binary variables relating to whether a sheltering treatment was applied (Shelter.binary 0=no, 1=yes) and whether a fertiliser treatment was applied (Fert.binary 0=no, 1=yes). I'm using binary variables instead of factors with two levels, because piecewiseSEM can't deal with factors. The plots are also arranged in blocks, so I want to include the block number as a random factor.

This is the type of model I would like to run (I'm currently experimenting with the lme4 package):

model = glmer(cover ~ Shelter.binary + Fert.binary + 

This is a histogram of the cover variable, it is highly left-skewed:

enter image description here

My questions are:

  • Is there a type of distribution I can specify in the model that is appropriate for left-skewed data?
  • I've tried transforming the data so I can use a Gaussian distribution, but the distribution remains quite skewed (I've tried using cube, square, log(max(x+1) - x), 1/(max(x+1) - x)). Maybe there is something I haven't tried?
  • My reading suggests that Beta regression can be used for left-skewed data when values are within a standard unit interval (typically 0-1). Although my data is not between 0 and 1, it is still within a set range (i.e. scores can't be below 0 or above 6). Might Beta regression be appropriate?
  • If Beta regression is appropriate, how might I implement this in R suitable for piecewiseSEM? I've tried using the code from this page, https://drizopoulos.github.io/GLMMadaptive/articles/Custom_Models.html, but piecewiseSEM is not recognizing the model. Would the lme4 package have a way of implementing this distribution (or something else appropriate) that might be recognized by piecewiseSEM?

I'm finding it difficult to get my head around all the GLMM options, so any suggestions and explanations would be greatly appreciated.

  • $\begingroup$ In regression analysis, the distribution of your data doesn't matter (except for some fundamental properties, e.g., that it can't be negative). What is important is the distribution of the residuals. $\endgroup$ – Roland Oct 20 at 5:38
  • $\begingroup$ @LvG Looking at the marginal distribution of the response is of little use since the distributional assumption isn't about that. Rather the assumptions for a glm relate to the conditional distribution of the response. However, your response appears to an interval-censored version of a continuous proportion, perhaps suggesting a censored version of a beta regression. $\endgroup$ – Glen_b Oct 20 at 6:15
  • $\begingroup$ You could also - presuming you're willing to throw away all the information in the censoring boundaries - do an ordinal regression $\endgroup$ – Glen_b Oct 20 at 8:11
  • $\begingroup$ Thanks @Roland, the distribution of the residuals seems fine, so perhaps my model is ok as it is. Thanks for the suggestions Glen_b, I'm not sure beta regression is going to work for piecewiseSEM, although maybe ordinal regression would be an option. $\endgroup$ – LvG Oct 20 at 20:50

Your Answer

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

Browse other questions tagged or ask your own question.