为什么最小化 MAE 会导致预测中位数而不是均值?

机器算法验证 预测 意思是 中位数 有效值
2022-01-26 17:47:01

来自Rob J Hyndman 和 George Athanasopoulos的《预测:原理与实践》教科书,特别是关于准确度测量的部分

最小化 MAE 的预测方法将导致预测中位数,而最小化 RMSE 将导致预测均值

有人可以直观地解释为什么最小化 MAE 会导致预测中位数而不是均值吗?这在实践中意味着什么?

我曾问过一位客户:“让平均预测更准确或避免非常不准确的预测对您来说更重要的是什么?”。他说,使平均预测更准确具有更高的优先级。那么,在这种情况下,我应该使用 MAE 还是 RMSE?在我阅读这篇引文之前,我相信 MAE 在这种情况下会更好。现在我怀疑了。

3个回答

退后一步并暂时忘记预测方面很有用。让我们考虑任何分布F并假设我们希望用一个数字来总结它。

你在统计学课上很早就学会了使用期望F作为单个数字摘要将最小化预期的平方误差。

现在的问题是为什么要使用F最小化预期的绝对误差?

为此,我经常推荐Hanley 等人的“将中值可视化为最小偏差位置”。(2001,美国统计学家他们确实在论文中设置了一个小程序,不幸的是,这可能不再适用于现代浏览器,但我们可以按照论文中的逻辑进行操作。

假设你站在一排电梯前。它们可以等距布置,或者电梯门之间的一些距离可能比其他的大(例如,一些电梯可能出现故障)。当其中一部电梯到达时,您应该站在哪部电梯前进行最少的预期步行请注意,这个预期的游走起到预期绝对误差的作用!

假设您有三部电梯 A、B 和 C。

  • 如果您在 A 前面等候,您可能需要从 A 步行到 B(如果 B 到达),或者从 A 到 C(如果 C 到达)——经过 B!
  • 如果您在 B 前面等候,则需要从 B 步行到 A(如果 A 到达)或从 B 步行到 C(如果 C 到达)。
  • 如果您在 C 前面等候,您需要从 C 步行到 A(如果 A 到达)-经过 B - 或从 C 走到 B(如果 B 到达)。

请注意,从第一个和最后一个等待位置,有一段距离 - AB 在第一个位置,BC 在最后一个位置 - 您需要在多个电梯到达的情况下步行。因此,你最好的选择是站在中间电梯的正前方——不管三部电梯如何布置。

这是 Hanley 等人的图 1:

Hanley 等人,图 1

这很容易推广到三个以上的电梯。或者到有不同机会先到的电梯。或者实际上是可数无限多的电梯。所以我们可以将此逻辑应用于所有离散分布,然后传递到极限以达到连续分布。

要加倍回到预测,您需要考虑在特定未来时间段的点预测的基础上,存在(通常是隐含的)密度预测或预测分布,我们使用单个数字点预测对其进行总结。上述论点说明了为什么您的预测密度的中位数F^是最小化预期绝对误差或 MAE 的点预测。(更准确地说,任何中间值都可以,因为它可能不是唯一定义的——在电梯示例中,这对应于具有偶数个电梯。)

当然,中位数可能与预期完全不同,如果F^是不对称的。一个重要的例子是低容量, 尤其. 确实,如果您有 50% 或更高的零销售机会,例如,如果销售是泊松分布的参数λln2,那么您将通过预测一个平坦的零来最小化您的预期绝对误差 - 这相当不直观,即使对于高度间歇性的时间序列也是如此。我为此写了一篇小论文(Kolassa,2016,International Journal of Forecasting)。

因此,如果您怀疑您的预测分布是(或应该是)不对称的,如上述两种情况,那么如果您希望获得无偏的期望预测,请使用. 如果可以假设分布是对称的(通常对于大容量系列),则中位数和均值重合,并使用还将指导您进行无偏预测 - MAE 更容易理解。

同样,最小化可能导致有偏差的预测,即使对于对称分布也是如此。我的这个较早的答案包含一个模拟示例,该示例具有不对称分布的严格正(对数正态分布)序列,可以使用三种不同的点预测进行有意义的点预测,具体取决于我们是否要最小化 MSE、MAE 或 MAPE。

Stephan 的回答给你一个直观的解释,为什么最小化绝对平均误差会给你中位数。现在回答使用 MSE、MAE 或 MAPE 中的哪一个:

MAE 是稳健的,这意味着它对异常值不太敏感。想象一个系列的错误比它应该的大一百万倍。在 MSE 上,它会拉动预测一百万次/N 次(其中 N 是点数),而 MAE 只会拉动 1 个单位。

不幸的是,MAE 并不是唯一的,因此它可能表现出某种精神分裂症的行为。

所以我的建议是先做一个 MSE,然后使用 MSE 参数开始 MAE 回归。

在任何情况下比较两个预测:如果它们非常不同,那么您的数据中有一些异味。

在此处输入图像描述在此处输入图像描述

所有上述解释都很棒,只是建议一个较短的解释。

假设您将使用某个不是中值的值来最小化 MAE,那么在该值上方有 A 示例,在其下方有 B 示例,这样 wlogA>B. 然后通过增加值ϵ>0误差减少ϵ对全部A例子和增加ϵ对全部B示例,因此总体误差减少了(AB)ϵ>0.

这适用于任何值AB, 即除中位数以外的任何值。