anova喜欢betaregression的对象

时间:2017-05-25 14:40:21

标签: r anova

我想知道,R中有没有类似anova的对象用于betaregression?我知道它没有在betareg包中实现,但我不明白为什么会这样。

如果没有这样的对象,有什么简单的方法可以执行吗?

任何帮助都将不胜感激。

修改

我真正想要的是确定因素的重要性。使用lmtest包时,它会是这样的:

library("betareg")
data("ReadingSkills", package = "betareg")

m1 <- betareg(accuracy ~ dyslexia, data = ReadingSkills)
m2 <- betareg(accuracy ~ iq, data = ReadingSkills)
m3 <- betareg(accuracy ~ iq + dyslexia, data = ReadingSkills)
library("lmtest")
lrtest(m2, m3)
lrtest(m1, m3)

但是在模型中有大量的协变量,这种方法似乎有点不舒服

2 个答案:

答案 0 :(得分:2)

https://stats.stackexchange.com/questions/297465/deviance-in-hurdle-model/299857#299857 beta类似,回归模型不是标准GLM,特别是如果它们在精度子模型中具有回归量。因此,对偏差的分析与GLM中的作用不同。 (因此,来自@Adela的拟议Anova()解决方案不正确。)

相反,可以使用包waldtest()中的通用lrtest()lmtest函数来执行嵌套模型比较的Wald或似然比检验。这也在vignette("betareg", package = "betareg")中说明,下面还包括一​​个简单的例子:

library("betareg")
data("ReadingSkills", package = "betareg")
m0 <- betareg(accuracy ~ 1 | 1, data = ReadingSkills)
m1 <- betareg(accuracy ~ iq | 1, data = ReadingSkills)
m2 <- betareg(accuracy ~ iq + dyslexia | 1, data = ReadingSkills)
m3 <- betareg(accuracy ~ iq + dyslexia | iq + dyslexia, data = ReadingSkills)
library("lmtest")
lrtest(m0, m1, m2, m3)
## Likelihood ratio test
## 
## Model 1: accuracy ~ 1 | 1
## Model 2: accuracy ~ iq | 1
## Model 3: accuracy ~ iq + dyslexia | 1
## Model 4: accuracy ~ iq + dyslexia | iq + dyslexia
##   #Df LogLik Df  Chisq Pr(>Chisq)    
## 1   2 26.421                         
## 2   3 34.586  1 16.330  5.322e-05 ***
## 3   4 49.951  1 30.730  2.966e-08 ***
## 4   6 61.257  2 22.612  1.230e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

答案 1 :(得分:0)

好吧,我已经找到了答案 - 可以使用Anova()包中的car函数。