I fitted, using glmmTMB
R package, a zero-inflated negative binomial GLMM, with offset and a random factor, to investigate which variables could explain animal species' range filling. The response variable (Range_filling
) is expressed as cell counts, and to account for the total area available I have put its log as an offset with offset(log(POAR))
. I also accounted for variation among different species' orders (with (1|Order)
). I log-transformed and scaled some predictors because they ranged on a huge scale; I transformed adult_mass_g
, Residence_time_d
, and Native_range
.
This is my model call:
mod <- glmmTMB(Range_filling ~ adult_mass_g + Residence_time_d + Pathways_tot + Native_range + Points_succ_intro +
offset(log(POAR)) + (1|Order),
data = sp_tbl_scaled,
ziformula = ~ 1,
family = nbinom1)
And this is my model output:
summary(mod)
Family: nbinom1 ( log )
Formula: Range_filling ~ adult_mass_g + Residence_time_d + Pathways_tot +
Native_range + Points_succ_intro + offset(log(POAR)) + (1 | Order)
Zero inflation: ~1
Data: sp_tbl_scaled
AIC BIC logLik deviance df.resid
507.0 523.6 -244.5 489.0 38
Random effects:
Conditional model:
Groups Name Variance Std.Dev.
Order (Intercept) 0.4897 0.6998
Number of obs: 47, groups: Order, 5
Dispersion parameter for nbinom1 family (): 85.2
Conditional model:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.91215 0.45947 -4.162 3.16e-05 ***
adult_mass_g -0.01812 0.23620 -0.077 0.93886
Residence_time_d -0.29223 0.13907 -2.101 0.03561 *
Pathways_tot -0.64082 0.12099 -5.297 1.18e-07 ***
Native_range -0.33345 0.11940 -2.793 0.00523 **
Points_succ_intro 0.02085 0.00306 6.812 9.64e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Zero-inflation model:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.6250 0.7017 -3.741 0.000183 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Now I would like to interpret my results, and specifically, I would like to find which explanatory variables are more important in predicting my response variable. To do so, I am looking at the model output and I also produced some response plots using sjPlot
, like this:
Looking specifically at those 3 predictors, I have a couple of questions:
- from the slope of the red line, it seems that the negative relationship between
Range_filling
andResidence_time_d
is stronger compared to the one ofRange_filling
withPathways_tot
. If I look at theEstimate
,Residence_time_d
has a-0.29
, whilePathways_tot
has a-0.64
. AsResidence_time_d
is log-transformed and scaled, I wonder if this big difference depends on that, and how to successfully "compare" those two estimates (for instance, if I want to say which of the two predictors has a stronger influence on the response variable). I guess I shall look at the p-value, as forPathways_tot
is highly significant, while it has a 0.03 value forResidence_time_d
. - I specified
ziformula = ~1
, to have a constant term (intercept) used for the zero-inflation model, assuming that the probability of excess zeros in the response variable is the same across all levels of the predictor variables, regardless of their values. This leaves me with only one line in my zero-inflation model summary, which appears to be significant based on the p-value. I'm not really sure how to interpret this. Moreover, what is zero-inflated is actually my response variable (Range_filling
), not my predictors. Should I then specify the model usingziformula = ~ Range_filling
? If I do that, the significance of the predictors doesn't change, and I get a p-value close to 1. As in page 383 of glmmTMB documentation, "The zero-inflation model estimates the probability of an extra zero such that a positive contrast indicates a higher chance of absence (e.g. minedno <0 means fewer absences in sites unaffected by mining); this is the opposite of the conditional model where a positive contrast indicates a higher abundance (e.g., minedno >0 means higher abundances in sites unaffected by mining)". If I understand this correctly, then, a p-value close to 1 should be better, but I'm not really sure.
Thanks in advance! Cross-posted on SO