(一些)线性回归可以准确地模拟这个(人口)函数吗?

机器算法验证 线性模型
2022-03-18 20:13:14

James、Witten、Hastie、Tibshirani在他们的书第 35 页上的状态参考下图:

在图 2.11 中,真实的 f [由黑色曲线给出] 基本上是非线性的,因此无论我们给出多少训练观察值,都无法使用线性回归产生准确的估计。

在此处输入图像描述

这个说法正确吗?牢记线性回归只能对线性关系建模/忽略线性回归指的是参数中的线性并且可以容纳大量非线性这一事实的普遍误解,我想知道这种说法是否正确。如果是,我想知道 f 的这种特殊形状是什么使得它无法通过线性回归来适应非线性?

第 35 页:

“...线性回归假设 Y 和、...、之间存在线性关系。”X1X2Xp

第 90 页:

“线性回归模型假设预测变量和响应之间存在直线关系。”

在第 91 页上,他们将 3.36 中的模型称为线性模型,即使带有感叹号。

第 91 页:

(3.36)mpg=β0+β1horsepower+β2horsepower2+ϵ

方程 3.36 涉及使用马力的非线性函数来预测 mpg。但它仍然是一个线性模型!也就是说,(3.36) 只是一个多元线性回归模型,其中X1=horsepowerX2=horsepower2

3个回答

我不会说作者是错误的,但他们对措辞不够谨慎。通常,从上下文中可以清楚地看出您是指简单线性回归还是多元线性回归,但这里不是。

作者应该写

...不可能使用简单的线性回归产生准确的估计。

...其中简单的线性回归意味着使用单个预测变量:仅X1

您是对的,在同一段中,作者一直在讨论(多重)线性回归:

例如,线性回归假设、 ...、之间存在线性关系。YX1X2Xp

您没有理由不能定义诸如之类的多项式,在这种情况下,线性模型确实应该能够很好地拟合真实的X2=X12X3=X13f

编辑:或者,就@whuber而言,他们本可以说

...不可能使用中的线性回归X产生准确的估计。

特别是考虑到在第 3 章中作者注意到多项式回归(中的非线性)仍然是线性模型(中的线性),因此在这里更明确会有所帮助。他们的观点并不是说图 2.11 中绘制的不能被 s 中的线性模型很好地近似——只是它不能被中的线性模型很好地近似。XβfβX

一条直线总是会留下一些不足之处。从这个意义上说,这种说法是正确的。

然而,真正的关系看起来是三次方的,这意味着可能是一个合理的模型。由于这在参数中是线性的,因此模型是线性回归,但拟合应该是合理的。从这个意义上说,主张不正确。E[Y|X]=β0+β1X+β2X2+β3X3

一旦你进入数学分析中的函数收敛定理,你会发现多项式项的线性组合可以任意接近大量函数。

(一些)线性回归可以准确地模拟这个(人口)函数吗?

是的,它可以使用多项式回归(见下图),这是线性回归的一个特殊情况。(或者从特定的角度来看线性回归的扩展)

但是,在书中线性回归的那个点被解释为如下。(重点是我在下面的引用)

另一方面,偏差是指通过更简单的模型逼近现实生活中的问题而引入的误差,这可能非常复杂。例如,线性回归假设 Y 和X1,X2,,Xp之间存在线性关系。任何现实生活中的问题都不太可能真正具有如此简单的线性关系,因此执行线性回归无疑会导致的估计出现一些偏差。f

当然,您可以让回归包含回归矩阵中的向量,这些向量是某些变量的非线性函数,例如拟合多项式或使用对数变换变量。

在本书的后面,他们正是这样做的

非线性关系

如前所述,线性回归模型 (3.19) 假设响应变量和预测变量之间存在线性关系。但在某些情况下,响应和预测变量之间的真实关系可能是非线性的。在这里,我们提出了一种非常简单的方法来直接扩展线性模型以适应非线性关系,使用多项式回归。

所以线性回归可以表达不是直线的变量之间的关系。下面是用该图中的数据副本拟合立方的示例。

但这不是书中所提出的观点,他们正在解释偏差-方差权衡以及使用更灵活的函数来估计某些人口分布的想法。

示例拟合三次曲线

data = matrix(c(0.3, 26.0, 2.9, 24.7, 4.4, 22.1, 7.6, 18.6, 14.0, 16.8, 14.9, 15.5, 15.2, 13.8, 17.8, 11.8, 19.0, 12.6, 21.9, 10.5, 22.4, 12.6, 25.9, 12.6, 26.8, 13.8, 30.6, 12.8, 33.5, 11.1, 34.4, 11.9, 35.6, 11.6, 37.0, 12.2, 37.9, 11.3, 39.9, 11.5, 40.2, 12.9, 42.9, 11.5, 44.0, 11.0, 45.2, 11.3, 46.9, 14.0, 47.5, 13.5, 48.4, 13.9, 49.3, 11.3, 49.6, 13.5, 51.9, 13.5, 53.1, 12.6, 57.7, 14.1, 59.5, 11.4, 64.4, 14.9, 67.1, 13.2, 71.1, 13.4, 71.4, 13.8, 71.7, 12.7, 72.3, 11.9, 76.1, 11.8, 76.7, 9.5, 78.7, 9.6, 82.8, 7.3, 83.4, 6.6, 87.2, 3.8, 90.7, 0.2, 92.1, 1.0, 92.7, -0.3, 94.2, -2.4, 99.1, -8.5), ncol = 2, byrow = TRUE)

colnames(data) = c("x","y")
data = as.data.frame(data)

plot(data$x,data$y)
mod = lm(y ~ x + I(x^2) + I(x^3), data = data)
lines(data$x, predict(mod))
summary(mod)$r.squared # returns 0.9715887

James、Witten、Hastie、Tibshirani 的书中线性模型的定义是什么?

在第 91 页图 3.8 的下标中,他们写道“线性回归拟合显示为橙色。包含马力² 的模型的线性回归拟合显示为蓝色曲线。” 所以对于这些作者来说,“线性回归”只是简单的线性回归,除非你以不同的方式指定它。你可能喜欢或不喜欢,但这只是主观的。在讨论基本主题时,您应该绕开这个问题。主题本身并不关心它们是如何被调用的。

此外,在第 289 页,作者将多项式回归明确定义为线性回归的扩展

多项式回归通过添加额外的预测变量来扩展线性模型,这些额外的预测变量是通过将每个原始预测变量提高到一个幂而获得的。例如,三次回归使用三个变量作为预测变量。这种方法提供了一种简单的方法来为数据提供非线性拟合。X,X2,andX3

在某种意义上,多项式回归再次是线性回归的一种形式,但具有不同/额外/更多的预测因子。原始的预测变量集已更改。

混乱从何而来?

  • 严格来说线性回归一个线性模型。它拟合输入变量的线性函数来估计结果变量。是输出且是输入变量,则线性回归无法准确地对三次函数建模标准线性回归是使用回归变量的线性组合,不能表达输出变量和回归变量之间的非线性关系。yx
  • 然而,通过添加输入/回归变量的非线性变换作为额外的输入/回归变量,我们可以使用线性回归来模拟两个非线性变量之间的关系。所以我们可以用线性回归来表达一些非线性关系。但要做到这一点,我们需要额外的输入变量这与普通的线性回归不同,作者认为这是一种扩展。x2x3

线性回归只能模拟响应变量和回归变量之间的线性关系。多项式回归是当我们添加额外的回归量时,我们能够表达响应变量和输入变量之间的非线性关系。从某种角度来看,该多项式回归也是线性回归,但针对新的回归变量集,其中包括原始回归变量集的非线性变换。

多项式回归表示响应和回归变量之间的非线性关系,但它表示响应和回归变量之间的线性关系。如果您唯一的回归变量是,那么您不能使用线性回归来表达非线性关系。𝑦𝑥𝑦𝑥,𝑥2,𝑥3,,𝑥𝑝𝑥