glmulti é executado indefinidamente ao usar algoritmo genético com lme4
Eu estou usando o glmulti para a média do modelo em R. Existem ~ 10 variáveis no meu modelo, tornando o rastreamento exaustivo impraticável - portanto, preciso usar o algoritmo genético (GA) (call: method = "g").
Eu preciso incluir efeitos aleatórios, então estou usando o glmulti como um wrapper para lme4. Métodos para fazer isso estão disponíveis aquihttp://www.inside-r.org/packages/cran/glmulti/docs/glmulti e há também um pdf incluído no pacote glmulti que é mais detalhado. O problema é que, ao dizer ao glmulti para usar o GA nessa configuração, ele é executado indefinidamente, mesmo depois que o melhor modelo foi encontrado.
Este é o exemplo retirado do pdf incluído no pacote glmulti:
library(lme4)
library(glmulti)
# create a function for glmulti to act as a wrapper for lmer:
lmer.glmulti <- function (formula, data, random = "", ...) {
lmer(paste(deparse(formula), random), data = data, REML=F, ...)
}
# set some random variables:
y = runif(30,0,10) # mock dependent variable
a = runif(30) # dummy covariate
b = runif(30) # another dummy covariate
c = runif(30) # an another one
x = as.factor(round(runif(30),1))# dummy grouping factor
# run exhaustive screening with lmer:
bab <- glmulti(y~a*b*c, level = 2, fitfunc = lmer.glmulti, random = "+(1|x)")
Isso funciona bem. O problema é quando eu digo para usar o algoritmo genético:
babs <- glmulti(y~a*b*c, level = 2, fitfunc = lmer.glmulti, random = "+(1|x)", method = "g")
Ele apenas continua rodando indefinidamente e o AIC não muda:
...
After 19550 generations:
Best model: y~1
Crit= 161.038899734164
Mean crit= 164.13629335762
Change in best IC: 0 / Change in mean IC: 0
After 19560 generations:
Best model: y~1
Crit= 161.038899734164
Mean crit= 164.13629335762
Change in best IC: 0 / Change in mean IC: 0
After 19570 generations:
Best model: y~1
Crit= 161.038899734164
Mean crit= 164.13629335762
... etc.
Eu tentei usar chamadas que dizem ao glmulti quando parar (deltaB = 0, deltaM = 0.01, conseq = 6) mas nada parece funcionar. Eu acho que o problema deve estar com a configuração da função (?). Pode ser algo realmente óbvio, no entanto eu sou novo em R e não consigo resolver isso.
Qualquer ajuda com isso seria muito apreciada.