用于 beta 回归的类方差分析对象

anova like object for betaregression

我想知道,R 中是否有类似方差分析的对象用于 beta 回归?我知道它没有在 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)

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

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

类似于 https://stats.stackexchange.com/questions/297465/deviance-in-hurdle-model/299857#299857 beta 回归模型不是标准的 GLM,尤其是当它们在精度子模型中有回归变量时。因此,偏差分析的工作方式与 GLM 不同。 (因此,@Adela 提出的 Anova() 解决方案是不正确的。)

相反,可以使用包 lmtest 中的通用 waldtest()lrtest() 函数来执行 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