R 用glmulti拟合拟族?

R 用glmulti拟合拟族?,r,glm,glmulti,R,Glm,Glmulti,我使用glmulti包中的glmulti函数来获得泊松误差分布数据的最佳glm模型。没问题。一旦我得到了最好的模型,我就使用卡方检验来获得p值,并对输入模型的每个变量进行统计检验。我遇到的唯一问题是数据过度分散,Zuur book和Crawley都建议使用准族函数来纠正过度分散。这本身不是问题,除了glmulti函数不允许拟合准函数 我的问题是,使用具有泊松误差分布的glmulti获得我的最佳模型,然后将最佳模型输出拟合到准函数是否是一种不正确的方法,以及是否有任何人可以提供任何其他建议 我还为

我使用
glmulti
包中的
glmulti
函数来获得泊松误差分布数据的最佳glm模型。没问题。一旦我得到了最好的模型,我就使用卡方检验来获得p值,并对输入模型的每个变量进行统计检验。我遇到的唯一问题是数据过度分散,Zuur book和Crawley都建议使用准族函数来纠正过度分散。这本身不是问题,除了glmulti函数不允许拟合准函数

我的问题是,使用具有泊松误差分布的glmulti获得我的最佳模型,然后将最佳模型输出拟合到准函数是否是一种不正确的方法,以及是否有任何人可以提供任何其他建议


我还为正态分布数据运行了glmulti(将族指定为高斯,将链接指定为标识),这确实有效,但如果我违反了任何主要规则,请务必告诉我。

glmulti允许在错误分布中使用准族

在您的情况下,只需使用附加参数family=quasipoisson调用glmulti(它将传递给拟合函数glm)

请注意,对于这种类型的模型,您使用的是准似然度,因此不建议使用AIC或BIC。您应该使用后者的准等价物(QAIC或QBIC)。这是通过将参数crit设置为“qaic”(例如)来实现的。您必须提供过度分散系数的估计值,通常来自饱和模型(有关更多信息,请参阅文档;或者向包作者寻求帮助)

否则,对于使用这种型号的多模态比较,没有具体的计数器指示


建议的另一个答案的最大问题是“
qaic
”在
glmulti
中似乎不起作用。 但对我来说,这很管用:

library(bbmle)
qaicmod = function (fit) qAIC(fit, dispersion=with(fit,sum((weights * residuals^2)[weights > 0])/df.residual) ) 

glmulti.out <- glmulti(XXX model formula XXX, 
  data = mydata,crit = "qaicmod", 
   confsetsize = 5, fitfunction = "glm", 
   family = poisson)
库(bbmle)
qaimod=函数(fit)qAIC(fit,离散度=带(fit,sum((权重*残差^2)[权重>0])/df.残差))

glmulti.out此操作将导致glmulti中出现错误,但如果您尝试此操作,则很遗憾。。。上面我提到了一个解决方案。。。。
disp <<- summary(fullmodel)$dispersion
qaicmod = function (fit) qAIC(fit, dispersion=disp)