R平方值适合比较模型吗?


17

我正在尝试使用汽车分类广告站点上提供的价格和功能来确定预测汽车价格的最佳模型。

为此,我使用了scikit-learn库中的几个模型以及pybrain和Neurolab中的神经网络模型。到目前为止,我使用的方法是通过某些模型(机器学习算法)运行固定数量的数据,并在那里比较使用scikit-learn度量模块计算的值。R2

  1. 是的好方法,来比较不同车型的性能?R2
  2. 尽管我对诸如弹性网和随机森林之类的模型获得了令人满意的结果,但对于神经网络模型却获得了非常差的值,那么是评估神经网络的合适方法(或非线性方法)?R2R2

2
简短的答案是否定的。它可能会帮助您在这里阅读我的答案:模型评估和比较,以选择最佳模型,该模型与您的问题非常相似。此处描述候选解决方案。为了获得更一般的理解,您可以尝试阅读网站上分类为model-selection标签下的一些线程。
gung-恢复莫妮卡

@gung谢谢!我想问一下使用神经网络进行回归拟合的合适度是什么?
Manik'2

Answers:


18

我认为在回答您的问题时要考虑的关键部分是

我正在尝试确定预测汽车价格的最佳模型

因为此语句暗示了有关为什么要使用该模型的某些信息。模型的选择和评估应基于您希望通过拟合值实现的目标。

首先,让我们回顾一下作用R2:它基于二次损失函数计算缩放度量,我确信您已经知道了。看到这一点,确定残余对您的第i个观察ÿ 和相应的拟合值ÿ。使用方便的符号S S R = N i = 1 e 2 iS S T = ei=yiy^iyiy^iSSR:=i=1Nei2- [R2被简单地定义为- [R2=1-小号小号- [R/小号小号ŤSST:=i=1N(yiy¯)2R2R2=1SSR/SST

其次,让我们看看使用进行模型选择/评估的含义R2。假设我们从一组预测选择使用模型生成的中号中号中号,其中中号是所考虑车型的集合(在你的榜样,这个系列将包含神经网络,随机森林,弹力网, ...)。由于在所有模型中S S T都将保持恒定,因此,如果使R 2最小化,则将精确选择使S S R最小化的模型。换句话说,您将选择Y¯MM:MMMSSTR2SSR产生的最小均方误差损失!MM

第三,让我们考虑为什么R2或等效地对于模型选择可能会很有趣。传统上,使用平方损失(L 2范数)有以下三个原因:(1)比最小绝对偏差(LAD,L 1范数)更容易计算,因为在计算中没有绝对值出现,(2)与实际值相差甚远的值比LAD大得多(在平方而不是绝对意义上),从而确保我们没有极端的异常值,(3)它是对称的SSR L2L1:高估或低估汽车的价格是被认为同样糟糕。

第四个(也是最后一个),让我们看看这是否是您进行预测所需要的。此处最感兴趣的一点是上一段中的(3)。假设您要采取中立的立场,并且您既不是汽车的买主也不是汽车的买主。这样,就可以理解:您是公正的,并且您希望以完全相同的方式对高估或低估的偏差进行惩罚。如果只想对数量之间的关系建模而不希望预测未观察到的值,则同样适用。现在假设你正在为预算紧张的消费者/买家:在这种情况下,你可能想惩罚价格的高估二次感,但低估在大号p感,其中1 R2Lp。对于 p = 1,您将在绝对偏差的意义上进行惩罚。可以看出,这反映了买方的目标和意图,并且使估算偏向于向下可能对他/她来说很有意义。相反,如果您要为卖方建立价格预测模型,则可以翻转思路。不用说,可以选择任何范数 L p来反映建模者/您要建模的代理的偏好。您也可以完全惩罚 L p范数,而在一侧使用恒定,指数或对数损失,在另一侧使用不同的损失。1p<2p=1LpLp

总之,不能独立于模型目标而考虑模型选择/评估。

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.