[R-sig-ME] multiple errors when using glmmADMB
Bansal, Udita
udit@@b@n@@l17 @ending from imperi@l@@c@uk
Fri Jul 27 13:33:22 CEST 2018
Hi Mollie,
I understand now I think. Thank you so much.
The DHARMa graph was for the gm1 model :
gm1 <- glmer(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, family = binomial, weights = CSIZE)
I came across that vignette. Thanks for sharing. I will try the model diagnostics method to be sure as it says.
Thanks
Udita
From: Mollie Brooks <mollieebrooks using gmail.com>
Date: Friday, 27 July 2018 at 12:24 PM
To: "Bansal, Udita" <udita.bansal17 using imperial.ac.uk>
Cc: "r-sig-mixed-models using r-project.org" <r-sig-mixed-models using r-project.org>
Subject: Re: [R-sig-ME] multiple errors when using glmmADMB
Hi Udita,
breeding.success is between 0 and 1. Therefore it is not Poisson or negative binomial. Even if it could be Poisson or negative binomial, you cannot compare models with and without weights as this is equivalent to the models having different sets of observations. You may need to read background information on GLM(M)s or seek local advice…unless someone else has more time.
The only valid models below are
gm1 <- glmer(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, family = binomial, weights = CSIZE)
and
m_tmb <- glmmTMB(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, ziformula = ~1, family = binomial, weights = CSIZE)
The DHARMa graph shows that there’s a problem with your model, but without knowing which model, it’s hard to say. Reading this vignette will be helpful https://cran.r-project.org/web/packages/DHARMa/vignettes/DHARMa.html
cheers,
Mollie
On 27Jul 2018, at 12:41, Bansal, Udita <udita.bansal17 using imperial.ac.uk<mailto:udita.bansal17 using imperial.ac.uk>> wrote:
Hi Mollie,
Thanks again for the ideas and explanation. I am not sure about how to interpret the output from the DHARMa package. I got the graph attached herewith.
I had run a few models with glmmTMB and a simple one with glmer.
m_tmb <- glmmTMB(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, ziformula = ~1, family = binomial, weights = CSIZE)
tmb_poisson <- glmmTMB(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, ziformula = ~1, family = poisson)
tmb_nbinom1 <- glmmTMB(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, ziformula = ~1, family = nbinom1)
## Warning message: In fitTMB(TMBStruc) : Model convergence problem; false convergence (8). See vignette('troubleshooting')
tmb_nbinom2 <- glmmTMB(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, ziformula = ~1, family = nbinom2) ## same warning as above
gm1 <- glmer(breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, family = binomial, weights = CSIZE)
The AIC looks as follows:
AIC(m_tmb, tmb_poisson, tmb_nbinom1, tmb_nbinom2, gm1)
df AIC
m_tmb 5 489.2653
tmb_poisson 5 333.4137
tmb_nbinom1 6 335.3694
tmb_nbinom2 6 335.4137
gm1 4 764.4029
This makes me think it should one of the models with the lower AIC?
Thanks
Udita
On 27/07/18, 10:52 AM, "Mollie Brooks" <mollieebrooks using gmail.com<mailto:mollieebrooks using gmail.com>> wrote:
Hi Udita,
It’s unlikely (but possible) that you’ll need to handle zero inflation. You could test for it using the DHARMa package. Here’s an example of doing that with binomial data.
library(DHARMa)
library(lme4)
gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp, family = binomial)
simulationOutput <- simulateResiduals(fittedModel = gm1, n=1000)
testZeroInflation(simulationOutput)
If you do have zero-inflation, then you could use glmmTMB for models like this
#nest failure equally possible for all observations
m1 <- glmmTMB(cbind(No.of.chicks, Clutch.size-No.of.chicks)~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR), zi=~1, data = hungary_breeding, , family = binomial)
#nest failure varies randomly by year
m2 <- glmmTMB(cbind(No.of.chicks, Clutch.size-No.of.chicks)~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR), zi=~(1|YEAR), data = hungary_breeding, , family = binomial)
#nest failure varies with tmean.zscale
m3 <- glmmTMB(cbind(No.of.chicks, Clutch.size-No.of.chicks)~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR), zi=~ tmean.zscale, data = hungary_breeding, , family = binomial)
cheers,
Mollie
On 27Jul 2018, at 11:28, Bansal, Udita <udita.bansal17 using imperial.ac.uk<mailto:udita.bansal17 using imperial.ac.uk>> wrote:
Hi Mollie,
Thanks a lot, I have tried that and it runs the model. My concern is that I cannot include zero inflation of the data in this model. Any ideas for that?
Cheers
Udita
On 27/07/18, 9:47 AM, "Mollie Brooks" <mollieebrooks using gmail.com<mailto:mollieebrooks using gmail.com>> wrote:
Hi Udita,
It looks like this is binomial data. You probably want logistic regression like this
library(lme4)
m_glmer <- glmer(cbind(No.of.chicks, Clutch.size-No.of.chicks)~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR), data = hungary_breeding, , family = binomial)
cheers,
Mollie
On 26Jul 2018, at 22:03, Bansal, Udita <udita.bansal17 using imperial.ac.uk<mailto:udita.bansal17 using imperial.ac.uk>> wrote:
I am measuring breeding success as number of chicks produced out of number of eggs laid. So, the values range from 0 to 1 including decimal values. Although, that was just a warning. Should I be too concerned about that?
My model statement is as follows:
m_admb <- glmmadmb( breeding.success ~ laying.date.julian.day.zscale + tmean.zscale + (1|YEAR) ,
data = hungary_breeding, zeroInflation = TRUE, family = "nbinom", link = "logit")
Summary for relevant columns of my data:
YEAR No.of.chicks Clutch.size laying_date tmean prec
1988:16 Min. :0.000 Min. :2.000 Min. :1988-04-22 Min. : 3.45 Min. : 0.000
1989:25 1st Qu.:0.000 1st Qu.:3.000 1st Qu.:1990-05-07 1st Qu.:11.35 1st Qu.: 0.000
1990:45 Median :0.000 Median :3.000 Median :1991-05-09 Median :15.12 Median : 0.000
1991:65 Mean :1.021 Mean :2.946 Mean :1991-05-24 Mean :14.62 Mean : 2.285
1992:46 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:1992-05-15 3rd Qu.:17.95 3rd Qu.: 1.050
1993:24 Max. :3.000 Max. :3.000 Max. :1994-06-16 Max. :27.05 Max. :55.200
1994:19
breeding.success clutch.volume laying.date.julian.day tmean.zscale.V1 prec.zscale.V1
Min. :0.0000 Min. :15.82 Min. : 82.0 Min. :-2.5607265 Min. :-0.559014
1st Qu.:0.0000 1st Qu.:24.60 1st Qu.:115.0 1st Qu.:-0.7638887 1st Qu.:-0.559014
Median :0.0000 Median :25.89 Median :129.0 Median : 0.0947269 Median :-0.559014
Mean :0.3438 Mean :25.52 Mean :132.3 Mean :-0.0190444 Mean : 0.006583
3rd Qu.:1.0000 3rd Qu.:27.06 3rd Qu.:148.2 3rd Qu.: 0.7372670 3rd Qu.: 0.209975
Max. :1.0000 Max. :29.83 Max. :186.0 Max. : 2.8070422 Max. : 3.762186
laying.date.julian.day.zscale.V1
Min. :-2.2850626
1st Qu.:-0.7846733
Median :-0.1481445
Mean : 0.0000000
3rd Qu.: 0.7270826
Max. : 2.4434370
I will try glmmTMB as well now.
Thanks
Udita
On 26/07/18, 7:41 PM, "R-sig-mixed-models on behalf of Ben Bolker" <r-sig-mixed-models-bounces using r-project.org<mailto:r-sig-mixed-models-bounces using r-project.org> on behalf of bbolker using gmail.com<mailto:bbolker using gmail.com>> wrote:
The first thing that pops out is the "non-integer response values in
discrete family" warning. How are you measuring breeding success? Can
you show us your whole glmmadmb() statement, and maybe a summary() of
the relevant columns of your data set?
I'll also make the now-blanket statement that you may have better
luck moving forward with glmmTMB.
cheers
Ben Bolker
On 2018-07-26 12:57 PM, Bansal, Udita wrote:
Hi all,
I was trying to use the glmmADMB package but ran into some errors. I’ve
noticed that other people have run into similar errors but there doesn’t
seem to be a solution online. It would be great help if anyone could
provide any insights on it.
I am using it for running a zero-inflated mixed-effects binomial model.
The errors are as follows:
Parameters were estimated, but standard errors were not: the most likely
problem is that the curvature at MLE was zero or negative
Error in glmmadmb(breeding.success ~ laying.date.julian.day.zscale +
tmean.zscale + :
The function maximizer failed (couldn't find parameter file)
Troubleshooting steps include (1) run with 'save.dir' set and inspect
output files; (2) change run parameters: see '?admbControl';(3) re-run
with debug=TRUE for more information on failure mode
In addition: Warning messages:
1: In glmmadmb(breeding.success ~ laying.date.julian.day.zscale +
tmean.zscale + :
non-integer response values in discrete family
2: running command './glmmadmb -maxfn 500 -maxph 5 -noinit -shess' had
status 1
Any kind of help will be greatly appreciated.
Bests
Udita Bansal
[[alternative HTML version deleted]]
_______________________________________________
R-sig-mixed-models using r-project.org<mailto:R-sig-mixed-models using r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
_______________________________________________
R-sig-mixed-models using r-project.org<mailto:R-sig-mixed-models using r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
_______________________________________________
R-sig-mixed-models using r-project.org<mailto:R-sig-mixed-models using r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
<Screen Shot 2018-07-27 at 11.33.37 AM.png>
[[alternative HTML version deleted]]
More information about the R-sig-mixed-models
mailing list