[R-sig-ME] Cross-validated likelihood, cont.

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Fri Apr 26 03:32:22 CEST 2019


Rolf,

 [cc'ing r-sig-mixed-models; apologies for breaking the thread]

Two issues:

 - I had to override some checking that glmer does (here I think the
problem is that the sample was sufficiently unbalanced that glmer
figured the random effects would be unidentifiable)
 - there's some trickiness about whether the deviance function is
stage-1/nAGQ=0 -- in which case, as Doug pointed out, the fixed-effect
[beta] parameters are profiled out, and the parameter vector should only
include theta (var-cov/Cholesky params), not theta+beta -- or if it's
stage-2/nAGQ>0 -- in which case the parameter vector should combine
theta and beta.

  What's below seems to work (at least, it returns a number).

  If this seems mysterious, the second example in ?lme4::modular *might*
help ...


====
#
# Script demo.txt
#

library(lme4)
set.seed(42)
X       <- dget("X.txt")
ind.trn <- sample(1:124,100)
ind.val <- setdiff(1:124,ind.trn)
TS      <- X[ind.trn,]
VS      <- X[ind.val,]
f.trn   <- glmer(cbind(Dead,Alive) ~ (Trt+0)/Dose + (Dose | Rep),
                 data=TS,family=binomial(link="cloglog"),nAGQ=0)
## coefs   <- unlist(getME(f.trn,c("theta","beta")))
##
coefs   <- unlist(getME(f.trn,"theta"))
## Error: number of observations (=24) < number of random effects (=30)
for term (Dose | Rep); the random-effects parameters are probably
unidentifiable
newdev  <- update(f.trn, data=VS, devFunOnly=TRUE,
                  control=glmerControl(check.nobs.vs.nRE="ignore"))
newdev(coefs)



More information about the R-sig-mixed-models mailing list