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 для небольших выборок).