使用GP进行时间序列预测-训练数据

时间:2020-04-04 20:23:01

标签: time-series forecasting non-linear-regression genetic-programming

我正在尝试使用遗传编程来实现时间序列预测。我正在创建具有s表达式的随机树(Ramped Half-n-Half),并使用RMSE评估每个表达式以计算适应度。我的问题是训练过程。如果我想预测黄金价格,培训数据如下所示:

date        open        high        low         close
28/01/2008  90.959999   91.889999   90.75       91.75
29/01/2008  91.360001   91.720001   90.809998   91.150002
30/01/2008  90.709999   92.580002   90.449997   92.059998
31/01/2008  90.919998   91.660004   90.739998   91.400002
01/02/2008  91.75       91.870003   89.220001   89.349998
04/02/2008  88.510002   89.519997   88.050003   89.099998
05/02/2008  87.900002   88.690002   87.300003   87.68
06/02/2008  89          89.650002   88.75       88.949997
07/02/2008  88.949997   89.940002   88.809998   89.849998
08/02/2008  90          91          89.989998   91

据我了解,这些数据是非线性的,所以我的问题是:

1-我是否需要对此数据进行任何更改,例如指数平滑?为什么?

2-在循环当前总体并评估训练数据上每个表达式的适用性时,我应该仅根据此数据的一部分还是全部计算出RMSE?

3-算法完成后,我得到了具有最佳(最低)适应性的表达式,这是否意味着当我应用训练数据中的任何一行时,输出应该是第二天的价格吗?

我已经阅读了一些有关此的研究论文,并且注意到其中一些提到在计算适应度时提及对训练数据进行划分,并且其中一些正在进行指数平滑。但是,我发现它们有点难以阅读和理解,而且我发现的大多数实现都是用Python或我不熟悉的R实现的。

我对此表示感谢。 谢谢。

0 个答案:

没有答案