【问题标题】:fitting quasi family using glmulti?使用glmulti拟合准家庭?
【发布时间】:2017-04-14 02:06:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: r glm glmulti


    【解决方案1】:

    建议的另一个答案的问题是“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) 
    

    【讨论】:

      【解决方案2】:

      glmulti 确实允许误差分布中的准系列。

      在您的情况下,您应该简单地使用附加参数 family=quasipoisson 调用 glmulti(它将传递给拟合函数 glm)。

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

      否则,使用多模型比较与此类模型没有具体的反指示。

      最好的

      【讨论】:

      • 这会导致 glmulti 中的错误,但不幸的是,如果你尝试它......上面我提到了一个解决方案......
      猜你喜欢
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多