【发布时间】:2017-03-12 10:15:12
【问题描述】:
我创建了一个简单的线性回归模型来预测标准普尔 500 指数的收盘价。然后计算平均绝对误差 (MAE) 并得到 1290 的 MAE 分数。现在,我不想知道这是对还是错,但我想知道 1290 的 MAE 告诉我关于我的模型的什么。
【问题讨论】:
标签: machine-learning data-science
我创建了一个简单的线性回归模型来预测标准普尔 500 指数的收盘价。然后计算平均绝对误差 (MAE) 并得到 1290 的 MAE 分数。现在,我不想知道这是对还是错,但我想知道 1290 的 MAE 告诉我关于我的模型的什么。
【问题讨论】:
标签: machine-learning data-science
使用模型获得的 MAE 应始终根据基线模型进行验证。
一个常用的基线是中值分配。当您的所有预测始终等于目标变量向量的中值时,计算 MAE,然后自己查看模型的 MAE 是否显着低于该值。如果是——恭喜。
请注意,在这种情况下,基线 MAE 将取决于目标分布。如果您的测试样本包含许多非常接近中位数的实例,那么几乎不可能得到一个 MAE 优于基线的模型。因此,只有当您的测试样本足够多样化时,才应使用 MAE。在测试样本中只有 1 个实例的极端情况下,您将得到基线 MAE=0,这始终不会比您可能提出的任何模型差。
当您获得总样本的 MAE,然后想要检查它在不同子样本之间的变化时,MAE 的这个问题尤其值得注意。假设您有一个模型,该模型可以根据教育、年龄、婚姻状况等预测年收入。您的 MAE 为 1200 美元,基线 MAE 为 5000 美元,因此您得出结论,您的模型非常好。然后,您想检查该模型如何处理最低收入者,并获得 1.7k 美元的 MAE 和 0.5k 美元的基线。如果您检查 18-22 岁人口统计数据中的错误,也可能会发生同样的情况。
【讨论】:
老实说,“总的来说”它几乎什么也没告诉你。这个值是相当随意的,只有当你完全理解你的数据时,你才能得出任何结论。
MAE 代表平均绝对误差,因此,如果您的值为 1290,则意味着如果您从数据中随机选择一个数据点,那么您会期望您的预测与真实值相差 1290。好吗?坏的?取决于你的输出规模。如果是百万,那么这个大的误差不算什么,模型很好。如果您的输出值在数千范围内,这太可怕了。
如果我理解正确,标准普尔 500 指数的收盘价是 0 到 2500 之间的数字(过去 36 年),因此 1290 的错误看起来你的模型什么也没学到。这很像一个常数模型,总是回答“1200”或这个值附近的东西。
【讨论】: