Skip to content

Fitting a GLMM to a zero-inflated continuous data with glmmTMB

3 messages · Vasco Silva, Mollie Brooks

#
Hi,

I am trying to fit a GLMM on biomass for each individual species using
glmmTMB but I got the following warning messages. I start to model the
zeros in a binomial model and the non-zeros in Gamma.
'data.frame': 20 obs. of  15 variables:
 $ Plot           : Factor w/ 10 levels "P1","P10","P2",..: 1 3 4 5 6 7 8 9
10 2 ...
 $ Grazing        : Factor w/ 2 levels "Fenced","Unfenced": 1 1 1 1 1 1 1 1
1 1 ...
 $ sp1         : num  247.61 10.9 0 24.92 2.14 ...
 $ sp2         : num  244 0 0 2907 0 ...
 $ sp3         : num  2147 2410 1030 1227 368 ...
 $ sp3         : num  0 0 0 0 0 ...

##
m0<-glmmTMB(sp2.positive ~ Grazing+(1|Plot)+(1|Plot:Grazing),
                  data=biomass,family=binomial(link="logit"))

$cond
                 Estimate Std. Error   z value  Pr(>|z|)
(Intercept)     -1.386333  0.9845106 -1.408144 0.1590885
GrazingUnfenced  2.233656  1.4343891  1.557218 0.1194188

$zi
NULL

$disp
NULL


##
m1<-glmmTMB(sp2~Grazing+(1|Plot)+(1|Plot:Grazing),data=biomass[biomass$sp2>0,],

family=Gamma(link="log"),control=glmmTMBControl(optCtrl=list(iter.max=1e3,eval.max=1e3)))

#Warning messages:1: In fitTMB(TMBStruc) :
  Model convergence problem; extreme or very small eigen values
detected. See vignette('troubleshooting')2: In fitTMB(TMBStruc) :
  Model convergence problem; false convergence (8). See
vignette('troubleshooting')


I check the vignette (troubleshooting) of the package but I can?t fix the
problem. Should I (re)scale the data? I saw that Tweedie is not (yet)
implemented in glmmTMB (
https://cran.r-project.org/web/packages/glmmTMB/vignettes/glmmTMB.pdf). Any
alternative for modeling zero-inflated continuous data?

I would greatly appreciate it if someone could help me.

Cheers.

Vasco Silva
#
Hi Vasco,

With only 20 observations, you probably need to simplify your model. The best you can really hope for is to estimate 2 parameters. First try dropping (1|Plot:Grazing).

The Tweedie distribution is also available now. Try family=tweedie(link = "log").

cheers,
Mollie

  
  
#
Thanks Mollie.

In fact I had already tried the Tweedie distribution but I'm not sure if it
is convenient, because I had only seen examples modelling count data.

Cheers.

Vasco Silva


2018-02-17 9:07 GMT+00:00 Mollie Brooks <mollieebrooks at gmail.com>: