我想知道,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)
但是在模型中有大量的协变量,这种方法似乎有点不舒服
答案 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
函数。