[ADMB Users] Function maximizer failed error

Ben Bolker bbolker at gmail.com
Thu Nov 1 16:28:45 PDT 2012

On 12-10-25 03:52 AM, Helene Russell Vastveit wrote:
> Hello,
> I am having trouble using glmmADMB on my data on infection status. I am
> using a binomial family with a 0/1 infection response variable and three
> fixed variables: year, location and season number, as well as individual
> identity as my random variable. My problem is that all models containing
> a year-location interaction fail to run through and I get
> Error in glmmadmb(prevflu ~ AAR + FLOK + AAR:FLOK + (1 | RINGNR), family
> = "binomial",  :
>   The function maximizer failed (couldn't find STD file)
> In addition: Warning message:
> running command 'C:\Windows\system32\cmd.exe /c
> "C:/Users/helenv/Documents/R/R-2.15.1/library/glmmADMB/bin/windows64/glmmadmb.exe"
> -maxfn 500 -maxph 5 -noinit -shess' had status 1
> After looking closely at my data it seems that one year-location
> combinations does not have any infected individuals. If I correct my
> data by changing the infection status of one individual, artifially
> increasing the variation in status in this year-location combination,
> the models run through just fine. The data consists of 8000 rows in 4
> locations over an 8 year span. The year-location combination in question
> has 52 datapoints.
> I am using version 2.15.1 of R, the most recent version of glmmADMB and
> windows 7 professional. Do you have any suggestions as to why this model
> won?t run or how I can bypass this problem? All help will truly be
> appreciated.
> Helene Russell Vastveit

  This situation is what is called "complete separation" in the GLM
literature -- you can google or look at statistics lists such as
CrossValidated (http://stats.stackexchange.com).  The problem is that
some of the MLE parameters technically become infinite in this case (in
order to get a zero probability, the logit-probability must be negative.
Some of the common approaches are:
  * use a bias-corrected algorithm (Firth's algorithm is the most common)
  * work in a Bayesian framework, adding a slight prior probability.
(You might be able to cheesily change your 0/1 values to 0.001/0.999,
this would be close to setting a prior -- I *think* that might work.)
  * I don't think glmmADMB can do the problem in its current form, you
may have to learn to use AD Model Builder ...
  If this stays a glmmADMB question, you should probably continue the
conversation on r-sig-mixed-models at r-project.org ...

   Ben Bolker

> _______________________________________________
> Users mailing list
> Users at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/users

More information about the Users mailing list