Skip to content

Problem_Downdated VtV is not positive definite

2 messages · C. AMAL D. GLELE, Ben Bolker

#
Hello, everyone.
In the models below, mydata has 32 rows
village and Year are grouping factor variables with respectively 8 and 4
levels.
1)
model1.1 fits well
model1.1<-glmer(cbind(F,L)~village+Year+(1|Year)+(1|village),
family="binomial",data=mydata)
But, when I replace village+Year by village*Year, I get the warning and
error message below
model1.2<-glmer(cbind(F,L)~village*Year+(1|Year)+(1|village),
family="binomial",data=mydata)
Warning:
fixed-effect model matrix is rank deficient so dropping 2 columns /
coefficients
Error message:
Error in (function (fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit =
100L,  :
  Downdated VtV is not positive definite
I noticed a similar behavior when trying with glmmadmb:
model2.1 fits well
model2.1<-glmmadmb(cbind(F,L)~village+Year+(1|Year)+(1|village),family="binomial",data=na.omit

(mydata))
But, with village*Year, Iget the error message below:
model2.2<-glmmadmb(cbind(F,L)~village*Year+(1|Year)+(1|village),family="binomial",data=na.omit

(mydata))
Error:
Error in glmmadmb(cbind(F, L) ~ village * Year + (1 | Year) + (1 |
village),  :
  rank of X = 30 < ncol(X) = 32
##
in advance, thanks for helping solve these issues(I'm very interested in
interaction terms).
Kinds regards,
#
On 2020-01-19 8:29 a.m., C. AMAL D. GLELE wrote:
When you include a fixed effect of village*Year, it expands to (1 +
village + Year + village:Year).

  Assuming Year is numeric, the combination of a fixed effect of Year
(treated as the overall slope of a linear relationship) and a random
intercept of Year (Year treated as a categorical grouping variable) is OK.

  But ... you also have village as categorical fixed effect *and* a
random intercept, which is redundant.

   You could use  ~ Year + village:Year  + (1|Year) + (1|village) *or*
                  ~ Year + (1+Year|village)