你如何在非正常数据上正确执行glmmPQL?

时间:2016-08-15 12:28:36

标签: r

我使用glmer运行模型,查看年份和处理对木材覆盖点数的影响,然后绘制残差以检查正态性,结果图形略微偏向右侧。这是正常分布的吗?

model <- glmer(Number~Year*Treatment(1|Year/Treatment), data=data,family=poisson)

enter image description here

如果您的数据不正常,此网站建议您使用glmmPQLhttp://ase.tufts.edu/gsc/gradresources/guidetomixedmodelsinr/mixed%20model%20guide.html

library(MASS)
library(nlme)

model1<-glmmPQL(Number~Year*Treatment,~1|Year/Treatment,
                family=gaussian(link = "log"),   
                data=data,start=coef(lm(Log~Year*Treatment)),
                na.action = na.pass,verbose=FALSE)
summary(model1)
plot(model1)

现在,在运行此模型之前,您是在转换Excel文档还是R代码(Number1 <- log(Number))中的数据? link="log"是否意味着数据已经被日志转换,或者它是否暗示它会对其进行转换?

如果您有零的数据,是否可以将1添加到所有观察值以使其大于零以便对其进行日志转换:Number1<-log(Number+1)

fit<-anova(model,model1,test="Chisq")是否足以比较两种模型?

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

tl; dr 您的诊断图对我来说很合适,您可以继续解释您的结果。

  • 这个公式:

    Number~Year*Treatment+(1|Year/Treatment)
    

可能不太正确(除了上述术语之间缺少的+ ...)一般来说,你不应该在随机和固定效果中都包含相同的术语(尽管有一个异常 - 如果 Year具有多个值且每年有多个观察值,您可以将其作为固定效应中的连续协变量和随机效应中的分组因子包含在内 - 所以这个可能是正确的。)

  • 我对链接的介绍并不感到疯狂;在快速浏览时,没有什么可怕的错误,但似乎有许多轻微的不准确和混乱。 &#34;如果您的数据不正常,请使用glmmPQL&#34;是#34的真正简写;如果您的数据不是正常的,那么您可能想要使用GLMM&#34;。您的glmer模型应该没问题。
  • 解释诊断图是一种艺术,但您在上面显示的偏差程度并不像是一个问题。
  • 由于您不需要对数据进行日志转换,因此您不需要陷入如何对包含零的数据进行日志转换的稍微混乱的问题。一般来说,计数数据log(1+x)转换是合理的 - 但是,这里也是不必要的。
  • anova()在此上下文中进行似然比检验,这是比较模型的合理方法。