[ADMB Users] Warning message: Convergence failed:log-likelihood of gradient=...
Ben Bolker
bbolker at gmail.com
Fri Jan 11 13:16:13 PST 2013
On 13-01-11 04:02 PM, W Robert Long wrote:
> Hi all
>
> I am using glmmADMB to fit a zero-inflated negative binomial model with
> random slopes and random intercepts. The model formula is
>
> zi1 <- glmmadmb(Y ~ time*X1 + time*X2 +
> (time | Subject), data=final, family="nbinom2", zeroInflation=TRUE)
>
> There are 4 time points and 85 subjects.
>
> The outcome has some missing values, approx 20% are missing. The model
> runs fine with complete case data.
>
> I had originally wanted to do multiple imputation, but I have yet to
> find a way of multiply imputing zero-inflated data in the context of
> this kind of multilevel/hierarchical model. So, I have implemented a
> random hot-deck imputation, which /appears/ to have worked well,
> however, around 50% of the completed datasets return this warning from
> glmmADMB:
>
> Convergence failed:log-likelihood of gradient= -XX.XXX
>
> and the parameter estimates are not as expected. Also, occasionally
> (5-10% of the time) it returns the error:
>
> The function maximizer failed (couldn't find STD file)
>
> The remaining imputed datasets don't cause any problem and the parameter
> estimates are within the ranges expected.
>
> All the imputed values are plausible, as you would expect from a
> hot-deck imputation and so far I can't identify what is causing these
> warnings and errors.
>
> I would be grateful for any hints or advice about how to proceed.
>
Nothing obvious springs to mind, but a couple of hints about next steps:
* examine the imputed data sets for the cases that failed and see if
you can see any obvious differences -- for example, do you get
individuals with extreme values? If you plot those data sets, does
something jump out at you?
* does simplifying the model in various directions (e.g. zero-inflated
Poisson, or non-zero-inflated NB, or an intercept-only random effect)
help? (I'm not saying there's anything wrong with your model, just that
you might be able to isolate the part of the model that is causing trouble.)
* If you need to communicate with the real gurus on this list, they
will want an example in pure ADMB. You can get this by setting the
'save.dir' parameter when running glmmADMB -- then sending or posting
your DAT, PIN, and TPL files should allow ADMB users to run them without
touching R.
Ben Bolker
More information about the Users
mailing list