逻辑回归和拐点

机器算法验证 回归 物流 广义线性模型 二进制数据
2022-03-01 05:41:40

我们有具有二元结果和一些协变量的数据。我使用逻辑回归对数据进行建模。只是简单的分析,没什么特别的。最终输出应该是剂量反应曲线,我们在其中显示特定协变量的概率如何变化。像这样的东西:

在此处输入图像描述

我们收到了来自内部审阅者(不是纯粹的统计学家)的一些批评,因为我们选择了逻辑回归。逻辑回归假设(或定义)概率尺度上 S 形曲线的拐点在概率 0.5 处。他认为,没有理由假设拐点的概率确实为 0.5,我们应该选择一个不同的回归模型,允许拐点发生变化,以使实际位置由数据驱动。

起初我对他的论点感到措手不及,因为我从未想过这一点。对于为什么假设拐点在 0.5 是合理的,我没有任何论据。在做了一些研究之后,我仍然没有这个问题的答案。

我遇到了 5 参数逻辑回归,其中拐点是一个附加参数,但似乎这种回归模型通常用于生成具有连续结果的剂量反应曲线。我不确定它是否以及如何扩展到二进制响应变量。

我想我的主要问题是为什么或何时可以假设逻辑回归的拐点为 0.5?这还重要吗?我从未见过有人拟合逻辑回归模型并明确讨论拐点问题。是否有其他方法可以创建拐点不一定为 0.5 的剂量反应曲线?

为了完整起见,生成上图的 R 代码:

dat <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
dat$rank <- factor(dat$rank)
logit <- glm(admit ~ gre + gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,ylab="Probability", xlab="Dose")

编辑1:

只是为了补充一下 Scortchi 在其中一条评论中所说的话:审稿人确实认为,从生物学上讲,曲率的变化更有可能发生在 0.5 之前。因此,他反对假设拐点在 0.5。

编辑2:

作为对 Frank Harrell 评论的回应:

例如,我修改了上面的模型,在其中包含一个二次项和一个三次项gre(在本例中为“剂量”)。

logit <- glm(admit ~ gre+I(gre^2)+I(gre^3)+  gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(admit=1, gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,xlim=c(-2000,4000),ylab="Probability", xlab="Dose")

在此处输入图像描述

尽管gre在这种情况下添加二次项和三次项可能没有意义,但我们看到剂量反应曲线的形式发生了变化。事实上,我们现在在大约 0.25 和接近 0.7 处有两个拐点。

4个回答

正如@scortchi 所触及的那样,审阅者在错误印象下进行操作,即不可能在逻辑回归的背景下对预测变量对 logit 量表的非线性影响进行建模。原始模型很快就假设所有预测变量都是线性的。通过放宽线性假设,例如使用受限三次样条(自然样条),曲线的整个形状是灵活的,拐点不再是问题。如果有一个预测变量并使用回归样条对其进行扩展,则可以说逻辑模型仅对观察的平滑性和独立性做出假设。

在我看来,审稿人只是在寻找要说的话。在检查规范的这些特征(例如隐含的拐点)之前,我们已经做出了大量假设,以得出一个可估计的模型。一切都可能受到质疑和争论——逻辑函数本身的使用可能是主要目标:谁告诉我们潜在误差项的条件分布是逻辑的?没有人。

所以问题是:曲率的变化意味着什么?对于正在研究的现实世界现象有多重要,可能是这种曲率变化发生的点,以便我们考虑将其设为“数据驱动”?远离简约原则?

问题不是“为什么拐点应该在 0.5?” 但是“如果将其保留在 0.5,这对我们的结论有多大的误导性?”。

在 mho 中,logit 回归是剂量反应的合理选择。当然,您可以使用 probit 、 log-log 、 c-log-log 链接,并比较拟合优度(DEV、BIC、CAIC 等)。但最简单的 logit 回归对拐点 LD50 = -b0/b1 给出了舒适的正式评估。我们记得这是一个特定的点,为此我们获得了最小的不确定性(参见 LD16、LD84 和任何其他点都会有更广泛的 CI,请参阅 Finney 的“Probit 分析”,1947 年,1977 年)。根据我的经验,总是(?)最好使用剂量的对数,然后将 95% CI 转换为原始比例。模型中其他协变量的性质是什么?我提到了使用多模型方法的可能性...当然,样条线是灵活的,但形式参数更容易解释!

http://www.epa.gov/ncea/bmds/bmds_training/software/overp.htm

0.5 拐点只是一个更大问题的一小部分:逻辑方程是构造对称的。在它的大多数推导中,模型化的效果有理由是对称的。例如,当一个玩家赢了另一个玩家输了,或者负责饱和的效果与负责初始增长的物理效果相同,等等......所以如果有一个原因导致低 X 行为的起源是同一个起源由于右手行为或出于任何其他原因,问题是对称的,那么您就有理由了。

如果不是,那么下一个最简单的模型可能是广义逻辑方程。它有更多参数,您可能想要添加一个约束,因此它们并非都是自由参数。这可能比您添加的 kludges 更可取,因为它们正在添加一阶导数来回振荡的架子——如果您试图优化这个的一些期望值,这种事情往往会产生虚构的局部均衡错误点分配。泛化形式会以平滑的方式破坏对称性。