Ранговая модель с QAIC с использованием MuMIn

Мне нужно ранжировать модель кандидата, используя критерий QAIC. Вот что я попробовал:

library(MuMIn)
model_global <-  glm(vs ~ mpg + disp + wt, family = quasibinomial, mtcars)
model_1 <-  glm(vs ~ mpg, family = quasibinomial, mtcars)
model_2 <-  glm(vs ~ disp, family = quasibinomial, mtcars)
model_3 <-  glm(vs ~ wt, family = quasibinomial, mtcars)
model_null <-  glm(vs ~ 1, family = quasibinomial, mtcars)

mod.sel(model_global, model_1, model_2, model_3, model_null, rank="QAIC", chat=deviance(model_global) / df.residual(model_global))

Это возвращает эту ошибку:

Error in formula.default(x) : invalid formula

Как я могу ранжировать вышеупомянутые модели, используя QAIC?

2 ответа

Решение

Вы должны предоставить свой rank.args как list (увидеть ?model.sel)

library(MuMIn)
model.sel(model_global, model_1, model_2, model_3, model_null,
          rank = QAIC,
          rank.args = list(chat = deviance(model_global) / df.residual(model_global)))

В (миленьком) примере, который вы предоставили, chat бывает < 1, предупреждение генерируется, и chat установлено на 1.

# Model selection table 
#              (Intrc)  disp    mpg    wt     df logLik  QAIC delta weight
# model_global -21.9000 -0.0403 0.6470  5.332 4   -8.844 25.7  0.00 0.569 
# model_2        4.1380 -0.0216               2  -11.348 26.7  1.01 0.344 
# model_1       -8.8330         0.4304        2  -12.767 29.5  3.85 0.083 
# model_3        5.7150                -1.911 2  -15.683 35.4  9.68 0.004 
# model_null    -0.2513                       1  -21.930 45.9 20.17 0.000 
# Warning messages:
#   1: In rank(x, chat = 0.631714762477434) :
#   'chat' given is < 1, increased to 1
# ..snip..

Это действительно все в руководстве, поэтому, пожалуйста, сначала прочтите его (?model.sel а также ?QAIC). Обратите внимание на две проблемы в вашем коде:

  • аргументы QAIC в model.sel передаются в rank.args аргумент, а не напрямую.
  • Модели квази- семейств не сообщают о вероятности, необходимой для расчета QAIC. См Примечание в ?QAIC а также example(QAIC) для взлома, чтобы обойти это.
Другие вопросы по тегам