代码之家  ›  专栏  ›  技术社区  ›  luciano

使用MuMIn的QAIC秩模型

  •  1
  • luciano  · 技术社区  · 10 年前

    我需要使用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 回复  |  直到 7 年前
        1
  •  3
  •   Henrik plannapus    10 年前

    您需要提供 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 ,生成警告,并且 闲聊 设置为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..
    
        2
  •  3
  •   Kamil Bartoń    10 年前

    这真的都在手册中,所以请先阅读( ?model.sel ?QAIC ). 请注意代码中的两个问题:

    • 参数 QAIC 在里面 model.sel rank.args 参数,而不是直接。
    • 的模型 准- 家庭不报告计算QAIC所需的可能性。看见 笔记 在里面 ?阿拉伯联合酋长国 example(QAIC) 让黑客来解决这个问题。