【发布时间】:2016-11-16 22:46:45
【问题描述】:
我正在尝试使用 R 中的 tweedie(复合泊松)分布式数据进行 AICc 模型选择和模型平均。
我正在使用 AICcmodavg R 包但没有成功,然后当我在这里遇到建议 (https://stats.stackexchange.com/questions/141806/glm-model-selection-using-aicc-with-tweedie-distribution) 时决定尝试 MuMIn 包
"你可以直接在 MuMIn 的函数中使用 AICtweedie,只需将其指定为 rank 参数。"
我按如下方式设置我的模型我的响应变量 (NVIR) 是东部蝾螈成虫的每单位努力捕获量,我的解释变量是我的采样点的各种栖息地特征。
m1<- glm(NVIR~Water_T+cond+DO+ORP+pH+max_depth+type,
family = tweedie(link.power=0, var.power=1.3), data = cpue)
m2<- glm(NVIR~Water_T+cond+DO+ORP+pH+littoral_slope+type,
family = tweedie(link.power=0, var.power=1.3), data = cpue)
m3<- glm(NVIR~pH+DO+cond+max_depth+type,
family = tweedie(link.power=0, var.power=1.3), data = cpue)
m4<- glm(NVIR~pH+DO+cond+littoral_slope+type,
family = tweedie(link.power=0, var.power=1.3), data = cpue)
m5<- glm(NVIR~cond+type+pH+max_depth,
family = tweedie(link.power=0, var.power=1.3), data = cpue)
然后尝试了这一行
model.sel(m1, m2, m3, m4, m5, rank = AICc, rank.args = AICtweedie)
并收到错误
Error in UseMethod("logLik") :
no applicable method for 'logLik' applied to an object of class "function"
In addition: Warning message:
In model.sel.default(m1, m2, m3, m4, m5, rank = AICc, rank.args = AICtweedie) :
models are not all fitted to the same data
另外,我也试过这条线
model.sel(m1,m2,m3,m4,m5, rank.args=AICtweedie)
得到了这个错误:
Error in get(x) : object 'Tweedie' not found
In addition: Warning message:
In model.sel.default(m1, m2, m3, m4, m5, rank.args = AICtweedie) :
models are not all fitted to the same data
我想知道问题出在我的代码上,还是 tweedie 系列与这个包不兼容。
感谢您的宝贵时间。
【问题讨论】:
-
您是否尝试过将
AICtweedie用于rank参数而不是rank.args参数? -
@aosmith 这也是我的建议。尝试使用
model.sel(m1,m2,m3,m4,m5, rank=AICtweedie) -
谢谢!我也试过'model.sel(m1,m2,m3,m4,m5,rank = AICtweedie)'并得到错误'get(x)错误:找不到对象'Tweedie'
-
现在已在 MuMIn 1.40.8 中修复(目前仅在 R-Forge 上)。
-
谢谢大家!感谢您的时间和 cmets。
标签: r distribution glm mumin tweedie