MAE 实际上告诉我什么?

What Does The MAE Actually Telling me?

我创建了一个简单的线性回归模型来预测标准普尔 500 指数的收盘价。然后计算平均绝对误差 (MAE) 并得到 1290 的 MAE 分数。现在,我不想知道这是对还是错,但我想知道 1290 的 MAE 告诉我关于我的模型的什么。

老实说 "in general" 它几乎什么也没告诉你。该值是相当随意的,只有当您准确理解您的数据时,您才能得出任何结论。

MAE 代表平均绝对误差,因此如果您的是 1290,则意味着如果您从数据中随机选择一个数据点,那么您预计您的预测与真实值相差 1290。好吗?坏的?取决于你的输出规模。如果以百万为单位,那么这么大的误差不算什么,模型还是不错的。如果你的输出值在几千范围内,那就太可怕了。

如果我理解正确的话,标准普尔 500 指数的收盘价是 0 到 2500 之间的数字(过去 36 年),因此 1290 的错误看起来就像你的模型什么都没学到。这很像一个常数模型,总是回答“1200”或这个值附近的东西。

应始终根据基线模型验证使用模型获得的 MAE。

一个经常使用的基线是中值赋值。当所有预测始终等于目标变量向量的中值时,计算 MAE,然后自己查看模型的 MAE 是否明显低于该值。如果是——恭喜。

请注意,在这种情况下,基线 MAE 将取决于目标分布。如果您的测试样本包含许多非常接近中位数的实例,那么几乎不可能获得 MAE 优于基线的模型。因此,仅当您的测试样本足够多样化时才应使用 MAE。在测试样本中只有 1 个实例的极端情况下,您将得到基线 MAE=0,这永远不会比您可能想出的任何模型差。

当您获得总样本的 MAE,然后想检查它在不同子样本之间的变化时,MAE 的这个问题尤其值得注意。比如说,你有一个根据教育、年龄、婚姻状况等预测年收入的模型。你得到的 MAE 是 1.2k 美元,基线 MAE 是 5000 美元,所以你得出的结论是你的模型非常好。然后你想检查模型如何处理底层收入者并获得 $1.7k 的 MAE,基线为 $0.5k。如果您检查 18-22 岁人口统计数据中的错误,则可能会发生同样的情况。