0

我一直在使用 Encog 神经网络工作台(3.2 版)运行太阳黑子预测例程,并注意到当将未来预测窗口更改为大于 1 时,sunspot_output.csv中的结果似乎是时间偏移的,因此当输出网络在t=0时评估的结果并不是真的(t+1)、(t+2)、(t+3)等。我很可能不了解工作台如何显示结果,所以也许有人可以澄清这一点为了我。

据我了解,如果您使用 30 的过去窗口和 14 的未来窗口,那么网络将查看最后 30 条记录并从最后一条可用记录向前预测(在这种情况下,假设11/1/1951是最后一条可用记录)。因此,对 1951 年 11 月 1 日的评估回顾 1949 年 5 月 1 日的 30 条记录,并使用此信息通过经过训练的网络来预测1951 年 12 月 1 日(t+1)、1952 年 1 月 1 日的数据(t+2)、2/1/1952 (t+3)等。但是,查看结果文件似乎并非如此。“预测”实际上似乎是前 14 条记录中模式的重复。所以 (t+1)比(t=0)的下一条记录更能代表(t-14) 08/01/1950这将是1951年 12 月 1 日。

我有一张图片显示了这一点,但不幸的是,我似乎还没有发布它的声誉点。要重现此问题,我建议使用 Encog 工作台并使用 30 的过去窗口、14 的未来窗口和 1% 或 2% 的训练误差。

总结:

  1. 在查看预测网络结果时,有没有其他人注意到这个问题,尤其是提前超过一个时间?
  2. 为什么工作台结果显示,当您查看与输出相关的日期时,encog 预测神经网络无法正确预测未来。

感谢您的任何想法!

4

1 回答 1

0

滑动窗口时间序列预测器的工作方式不是问题。我建议你在这里加深https://www.cs.rutgers.edu/~pazzani/Publications/survey.pdf 这真的取决于你如何调整神经网络。

如果您想要更多的预测能力,您必须提取特征或合成新特征(例如,我会使用小波提取和去噪)。

注意规范化。如果您知道存在已知范围,请使用范围归一化,否则使用 z 归一化。使用正确的激活函数:如果归一化范围为 0,1,则为 Sigmoid,如果范围为 -1,1,则为 tanh。

但在结束神经网络无法预测之前,我建议您使用 encog 中包含的 SVR(支持向量回归)。它保证(如果存在)达到全局最小值。看看 SVR 的预测是否比 ANN 更好。如果不使用我的第一个建议;-)

文森佐

于 2014-11-22T12:55:43.987 回答