[R-sig-ME] How to deal with Hessian error if the model only contains binomial (0, 1) fixed factors?
ONKELINX, Thierry
Thierry.ONKELINX at inbo.be
Tue Jul 15 10:57:30 CEST 2014
Dear Julia,
It looks like a problem of (quasi-)complete separation. The random effect structure is rather complicated given your data. You have only a few bird:year combinations with multiple observations. Furthermore year has only 3 levels, which very low to fit as a random effect.
So you'll need to rethink your model.
Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
+ 32 2 525 02 51
+ 32 54 43 61 85
Thierry.Onkelinx op inbo.be
www.inbo.be
To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data.
~ Roger Brinner
The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey
-----Oorspronkelijk bericht-----
Van: r-sig-mixed-models-bounces op r-project.org [mailto:r-sig-mixed-models-bounces op r-project.org] Namens Julia Sommerfeld
Verzonden: dinsdag 15 juli 2014 10:35
Aan: r-sig-mixed-models op r-project.org
Onderwerp: [R-sig-ME] How to deal with Hessian error if the model only contains binomial (0, 1) fixed factors?
Hi list,
I have the following model:
*mod <- glmer(samemate ~ success + type + (1|year/bird), family=binomial,
data=dat)*
All variables are binomial:
"samemate" = 0 or 1
"success" = 0 or 1
"type" = first or replacement
The data look like this:
bird year samemate success type
A 2 0 0 first
A 2 1 1 replacement
B 1 1 0 first
C 1 0 1 first
and so on....
When I run the model I get following error message:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Hessian is numerically singular: parameters are not uniquely determined Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Hessian is numerically singular: parameters are not uniquely determined
One solution to this seems to standardize the model:
*> st.mod <- standardize(mod, standardize.y=FALSE)*
But this gives the following error message:
Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
The model output of the standardized model is:
*summary(st.mod)*
Generalized linear mixed model fit by maximum likelihood (Laplace
Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: samemate ~ c.success + c.type + (1 | year/bird)
Data: dat
AIC BIC logLik deviance df.resid
56.0 66.9 -23.0 46.0 61
Scaled residuals:
Min 1Q Median 3Q Max
-2.7386 0.0000 0.0000 0.3651 0.8165
Random effects:
Groups Name Variance Std.Dev.
bird:year (Intercept) 2.672e-08 0.0001635
year (Intercept) 0.000e+00 0.0000000
Number of obs: 66, groups: bird:year, 59; year, 3
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 12.6988 165.3971 0.077 0.9388
c.success 1.6094 0.8572 1.878 0.0605 .
c.type 32.6667 454.8498 0.072 0.9427
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) c.fld1
c.success -0.006
c.type 1.000 -0.006
Generalized linear mixed model fit by maximum likelihood (Laplace
Approximation) ['glmerMod']
Family: binomial ( logit )
Formula: samemate ~ c.success + c.type + (1 | year/bird)
Data: dat
AIC BIC logLik deviance df.resid
56.0 66.9 -23.0 46.0 61
Scaled residuals:
Min 1Q Median 3Q Max
-2.7386 0.0000 0.0000 0.3651 0.8165
Random effects:
Groups Name Variance Std.Dev.
bird:year (Intercept) 2.672e-08 0.0001635
year (Intercept) 0.000e+00 0.0000000
Number of obs: 66, groups: bird:year, 59; year, 3
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 12.6988 165.3971 0.077 0.9388
c.success 1.6094 0.8572 1.878 0.0605 .
c.type 32.6667 454.8498 0.072 0.9427
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) c.fld1
c.success -0.006
c.type 1.000 -0.006
>
*Do I need to worry about the error message? Does it even make sense to standardize a model that only contains binomial variables? How could I possibly rescale 0,1 variables? *
When I run a glm, I don't get the error message:
*mod <- glm(samemate ~ success + type, family=binomial, data=dat)*
> summary(mod)
Call:
glm(formula = samemate ~ fledged1 + clutch2, family = binomial,
data = dat)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.06885 0.00008 0.00008 0.50033 1.01077
Coefficients:
Call:
glm(formula = samemate ~ fledged1 + clutch2, family = binomial,
data = dat)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.06885 0.00008 0.00008 0.50033 1.01077
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.4055 0.4082 0.993 0.3206
success 1.6094 0.8563 1.879 0.0602 .
typereplacement 19.1606 2195.1537 0.009 0.9930
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 62.586 on 65 degrees of freedom Residual deviance: 45.966 on 63 degrees of freedom
AIC: 51.966
Number of Fisher Scoring iterations: 18
*Could the glmer fail, because I only have 66 observation for 59 birds and only 3 years? Considering this and the very small variance explained by bird and year, shall I stick to the glm?*
Any suggestion or thoughts on this would be highly appreciated.
Cheers
Julia
[[alternative HTML version deleted]]
_______________________________________________
R-sig-mixed-models op r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
* * * * * * * * * * * * * D I S C L A I M E R * * * * * * * * * * * * *
Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document.
The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
More information about the R-sig-mixed-models
mailing list