AICc(): ошибка с logLik, не может применяться к объекту класса "логический"

Я пытаюсь получить таблицу AICc для нескольких моих моделей, которые были построены с использованием пакета glmmTMB. Модель дает значение logLik, но не AICc. Когда я помещаю модель в AICc():

a <- print(AICc(model, trace = TRUE, 
                rank = "AICc", REML = FALSE))

Я получаю такую ​​ошибку:

Error in UseMethod("logLik") : 
  no applicable method for 'logLik' applied to an object of class "logical"

Я использовал другие функции, такие как AICtab(), и получил ту же ошибку, поэтому я считаю, что она находится в самой модели. Если кто-то может интерпретировать эту ошибку здесь, пожалуйста, дайте мне знать, спасибо.

Редактировать:

Минимальный используемый набор данных и модель:

ID <- c("A","B","C","A","B","C","A","B","C","A","B","C") 
#random effect
Sesh <- c("A1","B1","C1","A2","B2","C2","A3","B3","C3","A4","B4","C4") 
#nested random effect
Stim <- c("Old","New","Old","New","Old","New","Old","New","Old","New","Old","New")
Temp <- c(75, 76, 72, 80, 71, 65, 69, 60, 76, 80, 81, 60)
Total <- c(0,1,5,6,3,10,2,1,0,0,4,6)
z <- data.frame(ID, Sesh, Stim, Temp, Total)

m <- glmmTMB(
  Total ~ Stim + Temp + (1|ID/Sesh),
  ziformula = ~1,
  data = z,
  family = nbinom2)

2 ответа

Ваша модель не имеет вероятности (logLik(m) является NA), поэтому на его основе невозможно рассчитать какой-либо критерий, основанный на правдоподобии. Предположительно это связано с малым размером выборки для модели с нулевой инфляцией (та же модель безziformula дает logLik).

Также обратите внимание, что AICc (Я предполагаю, что это MuMIn::AICc) не имеет аргументов trace, rank ни REML, отсюда и ошибка. Я полагаю, вы перепутали команду сdredge.

Мы можем извлечь его вручную (см. ПРИМЕЧАНИЕ):

summary(m)$AICtab
     AIC      BIC   logLik deviance df.resid 
      NA       NA       NA       NA        5 

Чтобы напрямую получить AIC:

summary(m)$AICtab[[1]]
[1] NA

Чтобы получить AICc(на момент написания статьи я не встречал этого критерия в своих исследованиях):

MuMIn::AICc(m)
[1] NA

Однако это тот же результат, что и выше.

НОТА

  • Похоже, что разработчики не реализовали AIC метод для glmmTMB модели с использованием AIC терпит неудачу.

  • Вышеупомянутый AIC является NA, вероятно, из-за недостатка данных. Этот ответ просто показывает, как извлечь AIC вручную. Из документовAICc:

Вычислить информационный критерий Акаике второго порядка для одного или нескольких объектов подобранной модели (AICc, AIC для небольших выборок).

Другие вопросы по тегам