2016-08-15 30 views
0

我使用glmer查看了Year和Treatment对木材覆盖点数量的影响,然后绘制了残差以检查是否正常,并且生成的图形略微偏向右侧。这是否正常分发?如何在非正常数据上正确执行glmmPQL?

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

enter image description here

此网站建议使用glmmPQL如果你的数据是不正常的:http://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

tl; dr您对我的诊断情节看起来不错,您可以继续解读您的结果。

  • 这个公式:

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

可能不是很正确(除上述条款...之间缺少+)一般情况下,你不应该包括两个相同的术语随机效应和固定效应(尽管有一个例外 - 如果Year具有多个值并且每年有多个观测值,您可以将其包括为固定效应中的连续协变量和分组事实或在随机效应 - 所以这可能是正确的)。

  • 我对连结介绍并不满意;在快速浏览没有什么可怕它错了,但似乎有很多轻微的不准确和混乱。 “如果数据不正常,则使用glmmPQL”的确是“如果数据不正常,您可能想使用GLMM”的简写。您的glmer型号应该没问题。
  • 解读诊断图是一种艺术,但是你上面显示的偏差程度看起来不是问题。因为您不需要对数据进行日志转换,所以您不需要进入如何对包含零的数据进行日志转换的小杂乱问题。通常log(1+x)转换为计数数据是合理的 - 但在这里也是不必要的。
  • anova()在这种情况下做了似然比检验,这是比较模型的合理方法。