glmulti работает неопределенно долго при использовании генетического алгоритма с lme4

Я использую glmulti для усреднения модели в R. В моей модели ~ 10 переменных, что делает исчерпывающий скрининг непрактичным - поэтому мне нужно использовать генетический алгоритм (GA) (call: method = "g").

Мне нужно включить случайные эффекты, поэтому я использую glmulti в качестве оболочки для lme4. Методы для этого доступны здесьhttp://www.inside-r.org/packages/cran/glmulti/docs/glmulti и есть также PDF-файл, включенный в пакет glmulti, который рассматривается более подробно. Проблема в том, что когда glmulti указывает использовать GA в этом параметре, он работает бесконечно, даже после того, как найдена лучшая модель.

Это пример, взятый из pdf-файла, включенного в пакет 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)")

Это отлично работает. Проблема в том, когда я говорю использовать генетический алгоритм:

babs <- glmulti(y~a*b*c, level = 2, fitfunc = lmer.glmulti, random = "+(1|x)", method = "g")

Он просто продолжает работать бесконечно, и AIC не меняется:

...

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.

Я пытался использовать вызовы, которые сообщают glmulti, когда нужно остановиться (deltaB = 0, deltaM = 0.01, conseq = 6), но, похоже, ничего не работает. Я думаю, что проблема должна заключаться в настройке функции (?). Это может быть что-то действительно очевидное, однако я новичок в R и не могу понять это.

Любая помощь с этим будет высоко ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос