为什么这个时间序列的预测“很差”?

机器算法验证 时间序列 神经网络 预测模型 深度学习 预言
2022-01-28 07:02:50

我正在尝试学习如何使用神经网络。我正在阅读本教程

处的值在时间序列上拟合神经网络来预测处的值后,作者获得了下图,其中蓝线是时间序列,绿色是对火车数据的预测,红色是对测试数据的预测(他使用了测试训练拆分)tt+1p1

并称之为“我们可以看到该模型在拟合训练和测试数据集方面做得很差。它基本上预测了与输出相同的输入值。”

然后作者决定使用来预测处的值。这样做可以获得tt1t2t+1

p2

并说“看图表,我们可以在预测中看到更多结构。”

我的问题

为什么第一个“穷”?它对我来说看起来几乎完美,它完美地预测了每一个变化!

同样,为什么第二个更好?“结构”在哪里?对我来说,它似乎比第一个差得多。

一般来说,什么时候对时间序列的预测是好的,什么时候是坏的?

2个回答

这是一种视错觉:眼睛看着图表,看到红色和蓝色图表就在每个旁边。问题是它们在水平方向上是紧挨着的,但重要的是垂直方向。距离。眼睛最容易看到笛卡尔图二维空间中曲线之间的距离,但重要的是特定 t 值内的一维距离。例如,假设我们有点 A1= (10,100)、A2 = (10.1, 90)、A3 = (9.8,85)、P1 = (10.1,100.1) 和 P2 = (9.8, 88)。眼睛自然会将 P1 与 A1 进行比较,因为那是最近的点,而 P2 将与 A2 进行比较。由于 P1 与 A1 的距离比 P2 与 A3 的距离更近,因此 P1 看起来是一个更好的预测。但是,当您将 P1 与 A1 进行比较时,您只是在查看 A1 能够重复之前看到的内容的能力;关于 A1,P1 不是预测. 正确的比较是在 P1 与 A2 和 P2 与 A3 之间进行比较,在此比较中,P2 优于 P1。如果除了绘制 y_actual 和 y_pred 与 t 之外,还有 (y_pred-y_actual) 与 t 的关系图,那就更清楚了。

为什么第一个“穷”?它对我来说看起来几乎完美,它完美地预测了每一个变化!

这就是所谓的“偏移”预测。如果您更仔细地查看图表 1,您会发现预测能力仅在于几乎完全复制上次看到的值。这意味着模型没有学得更好,它将时间序列视为随机游走。我想问题可能在于您使用输入神经网络的原始数据。这些数据是不稳定的,这导致了所有的麻烦。