我使用了glmulti
包中的glmulti
函数来获得泊松误差分布数据的最佳glm模型。那里没有问题。获得最佳模型后,我使用卡方检验来获取 p 值并测试输入模型的每个变量的统计数据。我遇到的唯一问题是数据过度分散,Zuur 的书和 Crawley 都建议使用准族函数来纠正过度分散。这本身不是问题,只是 glmulti 函数不允许拟合拟函数。
我的问题是,使用具有泊松误差分布的 glmulti 获得最佳模型,然后将最佳模型输出拟合到准函数是否是不正确的处理方法,如果有任何其他建议,任何人都可以提供。
我还针对正态分布数据运行了 glmulti(将族指定为高斯分布,将链接指定为身份),这确实有效,但如果我违反了任何主要规则,请告诉我。
最佳答案
建议的其他答案的问题是“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)
这使用常规泊松 GLM,但根据估计的色散系数计算 QAIC。 在 qaicmod 函数的色散参数中,您还可以输入包含所有变量的完整准泊松 GLM 的估计色散系数(我见过的一些统计数据推荐这样做),即改为使用
disp <<- summary(fullmodel)$dispersion
qaicmod = function (fit) qAIC(fit, dispersion=disp)
关于r - 使用 glmulti 拟合准族?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468874/