为什么对时间序列的这种预测“非常糟糕”?


15

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

使用时间的值拟合神经网络以预测时间的值后,作者获得以下曲线图,其中蓝线是时间序列,绿色是对火车数据的预测,红色是对测试数据进行预测(他使用了测试序列拆分)ŤŤ+1个1

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

然后,作者决定使用,和来预测处的值。这样做获得ŤŤ-1个Ť-2Ť+1个

2

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

我的问题

为什么第一个“可怜”?在我看来,它几乎是完美的,它可以完美地预测每个变化!

同样,为什么第二个更好?“结构”在哪里?在我看来,这比第一个要差得多。

通常,对时间序列的预测什么时候好,什么时候不好?


3
作为一般性评论,大多数ML方法都是用于横截面分析的,需要对时间序列进行调整。主要原因是数据中的自相关,而在ML中,通常在大多数流行的方法中都假定数据是独立的
Aksakal 17-10-4

11
它可以很好地预测每一个变化……在变化发生之后!
hobbs

@hobbs,我不是要使用t,t-1,t-2等来预测t + 1。我想知道您是否知道过去最好使用几个术语。如果使用过多,是否过度拟合?
Euler_Salter '17

绘制残差图会更有启发性。
reo katoa

Answers:


23

这是一种视觉上的错觉:眼睛看着图表,看到红色和蓝色的图表紧挨着每个图表。问题是它们在水平方向上彼此相邻,但重要的是垂直方向距离。眼睛最容易看到笛卡尔图的二维空间中曲线之间的距离,但重要的是特定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比A2更接近A1,因此P1看起来更好。但是,当您将P1与A1进行比较时,您只是在看A1能够很好地重复之前看到的内容。关于A1,P1不是预测。正确的比较是在P1 v。A2和P2 v。A3之间,在此比较中P2优于P1。如果除了针对t绘制y_actual和y_pred之外,是否还有针对t的(y_pred-y_actual)图,那将会更加清楚。


2
这是更好的答案,因为另一个人甚至没有提到为什么“好看”的预测实际上很差,而您却做得很好!
理查德·哈迪

17

为什么第一个“可怜”?在我看来,它几乎是完美的,它可以完美地预测每个变化!

这是所谓的“转移”预测。如果您仔细观察图表1,您会发现预测能力仅在于几乎完全复制了上次看到的值。这意味着模型学习得更好,并且将时间序列视为随机游走。我想问题可能出在您使用馈送到神经网络的原始数据这一事实。这些数据是不稳定的,这会引起所有麻烦。


8
在预测中,这称为“原始”预测,即使用观察到的最后一个作为预测
Aksakal

谢谢!@Aksakal您知道应该使用多少个先前值进行预测?
Euler_Salter

专注于平稳性。对于这个时间序列,几个固定的滞后应该会很好。优于100个静态滞后。
阿列克谢·本那科夫

在时间序列中,有一种方法可以通过ACF和PACF很好地估计滞后结构,请在此论坛中查找有关如何完成操作的大量帖子
Aksakal,2017年

@AlexeyBurnakov那么这是否意味着我应该将其转换为平稳的?
Euler_Salter '10
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.