假设我想预测一个项目是否会盈利。在我的样本数据中,响应变量实际上是一个连续变量:项目的盈亏。
因为我的最终目标只是一个二元分类(盈利项目或非盈利项目),我应该使用分类技术吗?或者我应该使用回归,这样我就不会丢弃连续响应变量提供的附加信息?
假设我想预测一个项目是否会盈利。在我的样本数据中,响应变量实际上是一个连续变量:项目的盈亏。
因为我的最终目标只是一个二元分类(盈利项目或非盈利项目),我应该使用分类技术吗?或者我应该使用回归,这样我就不会丢弃连续响应变量提供的附加信息?
当变量是连续的或有序的时,我想不出一个我会推荐分类技术的例子。在有效拟合连续模型后,您可以使用该模型来估计超过任何感兴趣水平的概率。如果模型是高斯模型,则该概率是预测均值和残差标准差的函数。
Vladimir Vapnik(支持向量机的共同发明者和领先的计算学习理论家)主张总是试图直接解决问题,而不是解决一些更普遍的问题,然后丢弃解决方案提供的一些信息。我大体上同意这一点,因此我建议对当前提出的问题采用分类方法. 这样做的原因是,如果我们只对将项目归类为盈利或非盈利感兴趣,那么我们实际上只对盈利能力约为零的区域感兴趣。如果我们形成一个分类模型,这就是我们将集中我们的建模资源的地方。如果我们采用回归方法,我们可能会浪费建模资源来对非常有利可图或无利可图的项目的性能进行小的改进,这可能会以提高临界项目的性能为代价。
现在我说“目前提出”的原因是,实际上很少有问题涉及简单、困难的二进制分类(光学字符识别可能就是其中之一)。通常不同类型的错误分类具有不同的成本,或者操作类频率可能是未知的或可变的等。在这种情况下,最好有一个概率分类器,例如逻辑回归,而不是 SVM。如果在我看来,对于财务应用程序,如果我们知道该项目是否会盈利的可能性,以及它可能盈利的可能性,我们会做得更好。我们很可能愿意资助一个盈利机会很小但一旦成功就可以大量盈利的项目,但不是一个几乎可以保证成功但利润率如此之低的项目最好把钱存入储蓄账户。
所以 Frank 和 Omri374 都是对的!(+1 ;o)
编辑:为了澄清为什么回归可能并不总是解决分类问题的好方法,这里有一个例子。假设我们有三个项目,盈利能力,对于每个项目,我们都有一个解释变量,我们希望它可以指示盈利能力,。如果我们采用回归方法(有偏移),我们会得到回归系数和(前提是我已经正确计算了总和!)。然后,该模型将项目预测为产生利润、和. 请注意,第二个项目被错误地预测为无利可图。另一方面,如果我们采用分类方法,并在上进行回归,我们得到回归系数和,得分三个项目如下:,和。因此,分类方法正确地将项目 1 分类为无利可图,将其他两个分类为有利可图。
发生这种情况的原因是回归方法同样努力最小化每个数据点的平方误差之和。在这种情况下,通过允许项目 2 落在决策边界的错误一侧来获得较低的 SSE,以便在其他两个点上实现较低的误差。
所以弗兰克说回归方法在实践中可能是一种很好的方法是正确的,但如果分类实际上是最终目标,那么在某些情况下它可能表现不佳,而分类方法会表现得更好。
阅读评论后,我认为讨论中缺少以下区别:
如何建模问题
这与使用什么技术无关。这是输入和输出是什么以及如何评估结果的问题。
如果你真的只关心我们的项目是否盈利,而盈利的多少完全无关紧要,那么你应该将其建模为一个分类问题。这意味着您最终会针对正确分类(准确度)或 AUC 的预期速率进行优化。这种优化转化为什么取决于您使用的技术。
模型选择和搜索算法的所有问题都可以启发式地解决(使用在其他答案和评论中提出的论点),但布丁的最终证明是在吃东西。无论您拥有什么模型,您都将通过交叉验证测试来评估准确性,因此您优化的是准确性。
如何解决问题
你可以使用任何你喜欢的适合分类范式的方法。由于您有一个连续的 y 变量,您可以对其进行回归,并转换为二进制分类。这可能会很好。但是,不能保证最优回归模型(通过平方误差之和或最大似然或其他)也会为您提供最优分类模型(通过准确度或 AUC)。
分类模型通常试图最小化符号(类别方面的错误)而不是偏差。例如,如果有许多异常值,我更喜欢使用分类模型而不是回归模型。