统计学家是否假设不能过度浇水植物,或者我只是使用错误的搜索词进行曲线回归?

机器算法验证 广义线性模型 非线性回归 链接功能
2022-01-20 00:41:16

我读到的关于线性回归和 GLM 的几乎所有内容都归结为:其中的非增或非减函数,是你的参数估计和检验关于的假设。有几十个链接函数和的变换,使的线性函数y=f(x,β)f(x,β)xβyxyf(x,β)

的非递增/非递减要求,我只知道拟合参数线性化模型的两种选择:三角函数和多项式。两者都会在每个预测和整个集合之间产生人为的依赖性,使它们成为非常不稳健的拟合,除非事先有理由相信您的数据实际上是由循环或多项式过程生成的。f(x,β)yX

这不是某种深奥的边缘案例。这是水与农作物产量之间的实际常识关系(一旦地块在水下足够深,农作物产量将开始减少),或早餐消耗的卡路里与数学测验的表现或工厂工人数量之间的关系以及它们产生的小部件的数量......简而言之,几乎所有使用线性模型的现实生活案例,但数据涵盖的范围足够广泛,以至于您可以将收益递减变成负收益。

我试着寻找“凹”、“凸”、“曲线”、“非单调”、“浴缸”等术语,但我忘记了还有多少其他术语。很少有相关的问题,甚至更少的可用答案。因此,实际上,如果您有以下数据(R 代码,y 是连续变量 x 和离散变量组的函数):

updown<-data.frame(y=c(46.98,38.39,44.21,46.28,41.67,41.8,44.8,45.22,43.89,45.71,46.09,45.46,40.54,44.94,42.3,43.01,45.17,44.94,36.27,43.07,41.85,40.5,41.14,43.45,33.52,30.39,27.92,19.67,43.64,43.39,42.07,41.66,43.25,42.79,44.11,40.27,40.35,44.34,40.31,49.88,46.49,43.93,50.87,45.2,43.04,42.18,44.97,44.69,44.58,33.72,44.76,41.55,34.46,32.89,20.24,22,17.34,20.14,20.36,24.39,22.05,24.21,26.11,28.48,29.09,31.98,32.97,31.32,40.44,33.82,34.46,42.7,43.03,41.07,41.02,42.85,44.5,44.15,52.58,47.72,44.1,21.49,19.39,26.59,29.38,25.64,28.06,29.23,31.15,34.81,34.25,36,42.91,38.58,42.65,45.33,47.34,50.48,49.2,55.67,54.65,58.04,59.54,65.81,61.43,67.48,69.5,69.72,67.95,67.25,66.56,70.69,70.15,71.08,67.6,71.07,72.73,72.73,81.24,73.37,72.67,74.96,76.34,73.65,76.44,72.09,67.62,70.24,69.85,63.68,64.14,52.91,57.11,48.54,56.29,47.54,19.53,20.92,22.76,29.34,21.34,26.77,29.72,34.36,34.8,33.63,37.56,42.01,40.77,44.74,40.72,46.43,46.26,46.42,51.55,49.78,52.12,60.3,58.17,57,65.81,72.92,72.94,71.56,66.63,68.3,72.44,75.09,73.97,68.34,73.07,74.25,74.12,75.6,73.66,72.63,73.86,76.26,74.59,74.42,74.2,65,64.72,66.98,64.27,59.77,56.36,57.24,48.72,53.09,46.53),
                   x=c(216.37,226.13,237.03,255.17,270.86,287.45,300.52,314.44,325.61,341.12,354.88,365.68,379.77,393.5,410.02,420.88,436.31,450.84,466.95,477,491.89,509.27,521.86,531.53,548.11,563.43,575.43,590.34,213.33,228.99,240.07,250.4,269.75,283.33,294.67,310.44,325.36,340.48,355.66,370.43,377.58,394.32,413.22,428.23,436.41,455.58,465.63,475.51,493.44,505.4,521.42,536.82,550.57,563.17,575.2,592.27,86.15,91.09,97.83,103.39,107.37,114.78,119.9,124.39,131.63,134.49,142.83,147.26,152.2,160.9,163.75,172.29,173.62,179.3,184.82,191.46,197.53,201.89,204.71,214.12,215.06,88.34,109.18,122.12,133.19,148.02,158.72,172.93,189.23,204.04,219.36,229.58,247.49,258.23,273.3,292.69,300.47,314.36,325.65,345.21,356.19,367.29,389.87,397.74,411.46,423.04,444.23,452.41,465.43,484.51,497.33,507.98,522.96,537.37,553.79,566.08,581.91,595.84,610.7,624.04,637.53,649.98,663.43,681.67,698.1,709.79,718.33,734.81,751.93,761.37,775.12,790.15,803.39,818.64,833.71,847.81,88.09,105.72,123.35,132.19,151.87,161.5,177.34,186.92,201.35,216.09,230.12,245.47,255.85,273.45,285.91,303.99,315.98,325.48,343.01,360.05,373.17,381.7,398.41,412.66,423.66,443.67,450.39,468.86,483.93,499.91,511.59,529.34,541.35,550.28,568.31,584.7,592.33,615.74,622.45,639.1,651.41,668.08,679.75,692.94,708.83,720.98,734.42,747.83,762.27,778.74,790.97,806.99,820.03,831.55,844.23),
                   group=factor(rep(c('A','B'),c(81,110))));

plot(y~x,updown,subset=x<500,col=group);

散点图

您可能首先尝试 Box-Cox 变换,看看它是否具有机械意义,如果失败,您可能会使用逻辑或渐近链接函数拟合非线性最小二乘模型。

那么,当你发现完整的数据集看起来像这样时,为什么要完全放弃参数模型并转而使用像样条线这样的黑盒方法......

plot(y~x,updown,col=group);

我的问题是:

  • 为了找到代表此类函数关系的链接函数,我应该搜索哪些术语?

或者

  • 我应该阅读和/或搜索什么来自学如何设计链接函数到此类函数关系或扩展现有的仅用于单调响应的函数?

或者

  • 哎呀,甚至 StackExchange 标记最适合此类问题!
4个回答

关于链接函数和单调性的问题中的评论是一个红鲱鱼。 它们的基础似乎是一个隐含的假设,即通过将响应的期望表示为解释变量的线性组合的单调函数的广义线性模型 (GLM)不够灵活,无法解释非- 单调的反应。事实并非如此。YfXβX


也许一个可行的例子可以说明这一点。在 1948 年的一项研究(死后发表于 1977 年,从未经过同行评议)中,J. Tolkien 报告了植物浇水实验的结果,其中 13 组 24 朵向日葵(Helianthus Gondorensis)从发芽开始到三个月内给予控制量的水的增长。应用的总量从一英寸到 25 英寸不等,以 2 英寸为增量。

图1

对浇水有明显的积极反应,对过度浇水有强烈的消极反应。早期的工作,基于离子传输的假设动力学模型,假设有两种竞争机制可能解释这种行为:一种导致对少量水的线性反应(以生存率的对数来衡量),而另一种 - -抑制因素-呈指数作用(这是一种强烈的非线性效应)。对于大量的水,抑制因素会压倒水的积极作用并显着增加死亡率。

为(未知)抑制率(每单位水量)。该模型断言,在接受的群体中,幸存者应该具有分布,其中是将对数赔率转换回概率的链接函数。这是一个二项式 GLM。因此,尽管它中明显是非线性的,但给定的任何值,它的参数线性的κYnx

Binomial(n,f(β0+β1xβ2exp(κx)))
fxκβ0β1β2. GLM 设置中的“线性度”必须从以下意义上理解:是这些参数的线性组合,其系数对于每个都是已知的。它们是:它们等于的系数)、本身(的系数)和的系数)。f1(E[Y])x1β0xβ1exp(κx)β2

这个模型——虽然它有些新颖,并且在它的参数上不是完全线性的——可以使用标准软件通过最大化任意的可能性并选择这个最大值最大这是执行此操作的代码,从数据开始:κκR

water <- seq(1, 25, length.out=13)
n.survived <- c(0, 3, 4, 12, 18, 21, 23, 24, 22, 23, 18, 3, 2)
pop <- 24
counts <- cbind(n.survived, n.died=pop-n.survived)
f <- function(k) {
  fit <- glm(counts ~ water + I(-exp(water * k)), family=binomial)
  list(AIC=AIC(fit), fit=fit)
}
k.est <- optim(0.1, function(k) f(k)$AIC, method="Brent", lower=0, upper=1)$par
fit <- f(k.est)$fit

没有技术困难;计算仅需 1/30 秒。

图 2

蓝色曲线是响应的拟合期望 E[Y]

显然 (a) 拟合良好, (b)之间的非单调关系E[Y]x(倒置的“浴缸”曲线)。R为了清楚地说明这一点,这里是用于计算和绘制拟合的后续代码:

x.0 <- seq(min(water), max(water), length.out=100)
p.0 <- cbind(rep(1, length(x.0)), x.0, -exp(k.est * x.0))
logistic <- function(x) 1 - 1/(1 + exp(x))
predicted <- pop * logistic(p.0 %*% coef(fit))

plot(water, n.survived / pop, main="Data and Fit",
     xlab="Total water (inches)", 
     ylab="Proportion surviving at 3 months")
lines(x.0, predicted / pop, col="#a0a0ff", lwd=2)

问题的答案是:

为了找到代表此类函数关系的链接函数,我应该搜索哪些术语?

:这不是链接功能的目的。

我应该...搜索什么以...扩展当前仅用于单调响应的现有[链接功能]?

什么都没有:这是基于对如何建模响应的误解。

显然,在构建回归模型时,首先应该关注要使用或构建的解释变量。正如本例中所建议的,从过去的经验和理论中寻找指导。

内疚地看着他办公桌上垂死的植物……显然不是

在评论中,@whuber 说“建模选择应该通过了解产生数据的原因和相关学科理论的动机来决定”,你问人们如何做到这一点。

Michaelis 和 Menten 动力学实际上是一个非常有用的例子。这些方程可以从一些假设开始(例如,底物与其复合物平衡,酶不消耗)和一些已知原理(质量作用定律)。Murray's Mathematical Biology: An Introduction在第 6 章中介绍了推导(我敢打赌许多其他书籍也是如此!)。

更一般地说,它有助于建立模型和假设的“全部”。我相信你的领域有一些普遍接受的、经过时间考验的模型。例如,如果某物正在充电或放电,我会使用指数函数将其电压建模为时间的函数。相反,如果我在电压-时间图中看到类似指数的形状,我的第一个猜测是电路中的某些东西正在电容性放电,如果我不知道它是什么,我会尝试找到它。理想情况下,理论既可以帮助您建立模型,又可以建议新的实验。

对于您的数据,我不是植物学家,所以我真的不知道该怎么做。它可以是分段线性函数(上升、平稳、下降)。它可能是一对指数(充电/放电)。我什至可以想象它实际上是由之类的东西生成的,在峰值附近有一些削波。我怀疑水太少和太多水对植物的影响不同,这可能会争论一个具有“干旱”成分的分段函数,一个植物相对快乐的区域,然后是一个“洪水”区域。干旱(减少捕获从较少的蒸腾?)和洪水(细菌吃根?)的潜在机制可能表明每个部分的特定形式。y=k(x+h)2CO2

从某人的角度来看,我有一个相当非正式的回应,他一半的科学生涯都在板凳上,另一半在电脑上,玩统计数据。我试图发表评论,但太长了。

你看,如果我是一位观察你得到的结果类型的科学家,我会很激动。各种单调的关系很无聊,很难区分。但是,您向我们展示的关系类型暗示了一种非常特殊的效果。它为理论家提供了一个很好的游乐场,可以提出关于这种关系是什么、它在极端情况下如何变化的假设。它为板凳科学家提供了一个很好的游乐场,让他们了解正在发生的事情并在这些条件下进行广泛的实验。

从某种意义上说,我宁愿拥有您正在展示的案例并且不知道如何拟合一个简单的模型(但能够提出一个新的假设),而不是有一个简单的关系,易于建模但更难以机械地研究。但是,我在实践中还没有遇到过这样的案例。

最后,还有一个考虑因素。如果您正在寻找一个测试表明黑色不同于红色(在您的数据中)——作为一名前替补科学家,我说为什么还要麻烦呢?从图中可以看得很清楚。

对于这样的数据,我可能至少会考虑线性样条。

您可以轻松地在 lm 或 glm 中完成这些操作。

如果您采用这种方法,您的问题将是选择结的数量和结的位置;一种解决方案可能是考虑相当数量的可能位置,并使用套索之类的方法或其他正则化和选择方法来识别一小部分;不过,您需要在推理中考虑这种选择的影响。