我有一个因变量,它是一个比率,并且 0 < y < 1 条件成立。我将betareg
在 Stata 中申请,但由于所选估计方法的 Beta 分布的分布,我不确定哪些诊断是必需的或可以省略的。
Beta 回归和回归诊断。我们需要检查正常性和其他诊断吗?
原始残差不一定是正态分布的。以下是一些模拟数据,遵循 Ferrari & Cribari-Neto (2004) 对 beta 分布的重新参数化:
> set.seed(1839)
> library(betareg)
> inv_logit <- function(logit) exp(logit) / (1 + exp(logit))
> n <- 500
> x <- rnorm(n)
> mu <- inv_logit(-5 + .5 * x)
> phi <- exp(2 + .3 * x)
> p <- mu * phi
> q <- phi - (mu * phi)
> y <- rbeta(n, p, q)
> model <- betareg(y ~ x | x)
> summary(model)
Call:
betareg(formula = y ~ x | x)
Standardized weighted residuals 2:
Min 1Q Median 3Q Max
-4.8350 -0.4382 0.2585 0.6837 1.1680
Coefficients (mean model with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -5.1468 0.2054 -25.054 < 2e-16 ***
x 0.7231 0.1713 4.221 2.43e-05 ***
Phi coefficients (precision model with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.1800 0.2091 10.427 <2e-16 ***
x 0.1336 0.1761 0.759 0.448
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Type of estimator: ML (maximum likelihood)
Log-likelihood: 1.365e+04 on 4 Df
Pseudo R-squared: 0.2678
Number of iterations: 38 (BFGS) + 2 (Fisher scoring)
请注意,该模型很好地恢复了参数(1、.5、2 和 .3)。但是让我们看一下原始残差(即观察到的 - 拟合):
> qqnorm(model$residuals)
> qqline(model$residuals)
即使我准确地模拟了模型如何工作的数据,残差仍然是非正态的。为什么?
我认为对广义线性模型作为一个整体的最佳介绍——至少对我而言——是 Coxe、West 和 Aiken 的“广义线性模型”,来自The Oxford Handbook of Quantitative Methods (Vol. II) 的第 3 章,由 Todd 编辑很少,于 2013 年出版。
他们清楚地表明,每个广义线性回归模型都是不同的——部分原因在于它对残差的建模方式。他们指出,每个广义线性回归,包括 beta 回归,都遵循三个部分。其中之一是“随机部分”,它“定义了结果变量的误差分布”。在第 31 页的表 3.1 中,他们表明,对于 beta 回归,误差分布是beta 分布。也就是说,结果, 以参数为条件和(在 Ferrari 和 Cribari-Neto 的重新参数化中定义)是 beta 分发的。所以我们不应该期望 beta 回归的原始残差是正态分布的。它们应该是 beta 分发的。
话虽如此,在我看来,通过阅读、在此站点上提问以及与一些进行 beta 回归研究的人发送电子邮件,beta 回归的诊断是一个积极研究的领域。目前还没有普遍接受的答案——至少从我对文献的阅读来看是这样。
在许多论文中,人们为 beta 回归推导了不同类型的残差,这些残差是正态分布的,因此更容易进行诊断检查。还有一些论文着眼于影响统计。我不确定在 Stata 中实现了什么,但这里有一些我建议阅读并进行前向和后向搜索的论文:
佩雷拉 (2017)。关于 beta 回归中的分位数残差。通信统计-模拟和计算。doi:doi.org/10.1080/03610918.2017.1381740。有关预印本,请参阅https://arxiv.org/abs/1704.02917 。
Espinheira、Santos 和 Cribari-Neto(2017 年)。关于非线性β回归残差。生物识别杂志,59。doi: 10.1002/bimj.201600136
Espinheira,法拉利,Cribari-Neto (2008)。关于 beta 回归残差。应用统计杂志,35。doi: 10.1080/02664760701834931
Espnheira、法拉利和 Cribari-Neto (2008)。在 beta 回归中影响诊断。计算统计和数据分析,52。doi: 10.1016/j.csda.2008.02.028
我自己——作为一个使用 beta 回归的人,读过一些关于它的文章,但不是这方面的专家——我并不完全相信有任何一种(并在软件中实现)方法可以对 beta 回归进行健壮的诊断检查。如果我错了,这里有一些关于 CV 的 beta 回归专家可能会纠正我。
在此处进行编辑以便快速跟进。该包betareg
建议使用“ sweighted2
”残差,如 JSS 文章中所述betareg
,在我上面创建的模型中,这仍然是不正常的(虽然更好!):
> qqnorm(residuals(model, type = "sweighted2"))
> qqline(residuals(model, type = "sweighted2"))