为什么有人会使用KNN进行回归?


26

据我了解,我们只能建立一个位于训练数据间隔内的回归函数。

例如(仅一个面板是必要的): 在此处输入图片说明

如何使用KNN回归器预测未来?同样,它似乎仅近似位于训练数据间隔内的函数。

我的问题:使用KNN回归器有什么优势?我知道这是一个非常强大的分类工具,但在回归场景中似乎效果不佳。


您能否阐明“预测未来”的含义?您是否有时间序列并且要进行预测,还是要拟合2个变量之间的关系并希望将来使用它来从已知的X值中猜测Y值?
gung-恢复莫妮卡

1
例如,如果我想根据上图预测值Y使得X = 15。KNN回归器不会正确吗?

1
我同意你的观点,如果你训练的一组与但预计可能会看到的值X远远超出了你的数据,那么非参数局部方法可能不是很理想。相反,您可能想使用该领域知识并定义一个参数模型,其中包括您对“未观察到的” x预期行为的了解。x[0,5]xx
Meadowlark Bradsher 2014年

1
Nate Silver的PECOTA棒球预测事物是成功用于回归的KNN的一个示例。您可以从PECOTA上的Wikipedia文章或诸如此类的报纸文章中了解其优缺点:macleans.ca/authors/colby-cosh/…–
Flounderer

6
另外,为了更笼统地说,随着您对统计知识(或数据挖掘/机器学习等)的了解,您会发现,对诸如您这样的非常普遍的问题的答案通常是“取决于”的措辞版本。知道“它取决于”什么以及为什么需要知识。
Meadowlark Bradsher 2014年

Answers:


17

在某些情况下,像K-NN这样的局部方法很有意义。

我在学业中做过的一个例子与预测各种水泥配料混合物的抗压强度有关。所有这些成分在响应或彼此之间都相对不挥发,KNN对此做出了可靠的预测。换句话说,没有一个独立变量具有不成比例的大方差以单独或可能通过交互作用赋予模型。

带着一粒盐就可以了,因为我不知道有一个数据调查技术可以得出结论,但是从直觉上看,如果您的要素具有一定比例的方差程度,而我不知道比例是多少,这似乎是合理的。 KNN候选人。我当然想知道是否为此进行了一些研究和产生的技术。

如果您从广义领域的角度考虑它,那么会有各种各样的应用程序,其中相似的“配方”产生相似的结果。当然,这似乎可以描述预测水泥混合效果的情况。我想说的是,如果您有按照此描述进行操作的数据,并且您的距离测度对于手边的域也是自然的,最后您有足够的数据,那么我想您应该从KNN或其他本地方法获得有用的结果。

使用局部方法时,您还将获得极低偏差的优势。有时,通用加性模型(GAM)通过使用KNN拟合每个变量来平衡偏差和方差,从而:

y^=f1(x1)+f2(x2)++fn(xn)+ϵ

fn(xn)

我不会这么快就注销KNN。它有它的位置。


1
这个有关knn缩放数据的答案可能有助于表达“比例差异程度”的含义。stats.stackexchange.com/questions/287425/...
eric_kernfeld

5

我不愿意说,但实际上简短的答案是,用knn或任何其他现有的分类器或回归器实际上不可能“预测未来”。

当然,您可以推断线性回归的线或SVM的超平面,但最后您不知道未来会怎样,就我们所知,这条线可能只是弯曲现实的一小部分。例如,当您查看诸如高斯过程之类的贝叶斯方法时,这将变得显而易见,一旦离开“已知输入域”,您将发现一个很大的不确定性。

当然,您可以尝试从今天发生的事情总结到明天可能发生的事情,这可以使用knn回归轻松完成(例如,圣诞节期间去年的客户数量可以为您提供有关今年数量的很好的提示)。当然,其他方法可能会结合趋势等等,但是最后您可以看到当涉及股市或长期天气预报时,这种方法的效果如何。


+1是为了防止外推,并讨论外推时KNN的(相对保守)行为。
eric_kernfeld

由于OP指出的行为,在进行外推时,KNN比线性回归更保守:它只能产生已经观察到的Y值范围内的预测。在许多情况下,这可能是一个优势。
eric_kernfeld

1

首先是“如何使用KNN回归器预测未来?”的示例。

sunt+1sunt..sunt6
süñŤ

wËËķŤsüñŤsüñŤ-6ŤØØ[R[RØwwËËķŤsüñŤ+1个

wËËķŤ
wËËķ
ŤØØ[R[RØw0ŤØØ[R[RØw9
p[RËd一世CŤwËËķŤØØ[R[RØw0ŤØØ[R[RØw9

调整权重,参见例如 逆距离加权-IDW插值与-蟒
和距离度量用于7D“最近邻”。

“使用KNN回归器有什么优势?”
对于其他人的好评,我将添加易于编码和理解的方法,并可以扩展到大数据。
缺点:对数据和调优很敏感,没有太多的了解




Xÿ
ÿŤ=b0XŤ+b1个XŤ-1个+
ÿŤ+1个
ÿŤ+1个=一种0ÿŤ+一种1个ÿŤ-1个+

因此,您的第一行“我们只能建立位于训练数据间隔内的回归函数”似乎与令人困惑的“回归”一词有关。)


1

《统计学习入门》第3.5节:

在真实关系未知的现实情况下,可能得出这样的结论:应该优先考虑KNN而不是线性回归,因为如果真实关系是线性的,那么在最坏的情况下它会比线性回归稍差,并且可能会提供更好的结果。如果真实关系是非线性的,则结果为。

但是有一些限制(不是从教科书中得出,而是我得出的结论):

  1. 每个预测变量足够的观测值。
  2. 预测变量的数量不应太大。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.