R中的布兰特测试

机器算法验证 r 回归 序数数据 有序的logit
2022-02-02 17:41:19

在测试序数逻辑回归中的平行回归假设时,我发现有几种方法。我使用了图形方法(如 Harrell 的书中详细介绍的)和使用 R中的ordinal 包详细介绍的方法。

但是,我还想为单个变量和整个模型运行 Brant 测试(来自 Stata)。我环顾四周,但找不到它在 R 中实现。

R中是否有Brant测试的实现?

4个回答

我在 R 中实现了 brant 测试。包和函数称为 brant,现在可以在 CRAN 上使用。

Brant 检验由 Rollin Brant 定义,用于检验平行回归假设(Brant, R. (1990) Assessing Proportionality in the Proportionalodds Model for Ordinal Logistic Regression. Biometrics , 46 , 1171–1178)。

这是一个代码示例:

data = MASS::survey
data$Smoke = ordered(MASS::survey$Smoke, levels=c("Never","Occas","Regul","Heavy"))
model1 = MASS::polr(Smoke ~ Sex + Height, data=data, Hess=TRUE)
brant(model1)

在示例中,平行回归假设成立,因为所有 p 值均高于 0.05。Omnibus 用于整个模型,其余用于单个系数。

是的-实际上您链接的序数包可以做到(尽管他们不将其称为 Brant 测试)。查看链接的第 6 页和第 7 页,它们演示了“等斜率或比例优势假设的似然比检验”,这正是您正在寻找的。

关于该主题的一些注释

VGAM命令中的 R 包cumulative(具有累积概率的序数回归)允许使用选项更改比例赔率假设parallel=FALSE

众所周知,这是一个常见问题(来自书:Regression Models for Categorical Dependent Variables Using Stata,第二版,作者:J. Scott Long,Jeremy Freese)

“关于平行回归假设的警告:我们发现经常违反平行回归假设 (PRA)。当这被拒绝时,应考虑不施加平行回归约束的替代模型。违反 PRA 不是理由使用 OLS 回归,因为将 LRM 应用于序数数据所隐含的假设甚至更强。可以考虑的替代模型包括用于名义结果的模型 [...] 刻板印象逻辑模型或刻板印象有序模型;广义有序 Logit 模型;延续比率模型,是替代品”(第 221 页)

本文深入探讨了这个主题,清晰且写得很好,但它没有考虑 VGAM 包或“累积”命令: 流行病学研究中的序数逻辑回归

教程关于 R 中的序数逻辑回归涵盖了测试比例优势假设。