如何使用集成学习方法为时间序列数据构建数据框

时间:2018-07-30 09:53:41

标签: r dataframe time-series random-forest ensemble-learning

我正在尝试使用截至时间t的11个技术指标来预测t + 5(即提前5分钟)处的比特币价格,这些指标都可以根据比特币时间的开盘价,最高价,最低价,收盘价和交易量来计算系列(请参阅我的完整数据集here)。据我所知,当使用诸如回归树,支持向量机或人工神经网络之类的算法时,无需操纵数据帧,但是当使用诸如随机森林(RF)和Boosting之类的集成方法时,我听说有必要以某种方式重新安排数据帧,因为集成方法从训练数据中提取重复的RANDOM样本,在这种情况下,比特币时间序列的序列将被破坏。那么,有没有办法以某种方式重新安排数据帧,以使每次从训练数据中提取重复的样本时,时间序列仍然按时间顺序排列?

我获得了关于如何构造数据帧here以及可能如何构建here的解释,但不幸的是,我并没有真正理解这些解释,因为我没有看到即将构建的数据框的直观示例,因为我无法识别相关的代码行。因此,如果有人可以告诉我如何使用示例数据帧重新排列数据帧,我将非常感激。作为示例数据框,您可以考虑使用r中的airquality内置数据框(我认为它包含时间序列数据),我上面提供的数据或您认为最佳的任何其他数据框。

非常感谢!

1 个答案:

答案 0 :(得分:1)

对ML算法进行重采样没有问题。要捕获(自动)相关,只需添加具有时间序列滞后值的列即可。例如。如果时间序列x [t]不变,其中t是以分钟为单位的时间,则将x [t-1],x [t-2],...,x [t-n]列加滞后值。您添加更多历史记录的滞后会更多地体现在模型训练中。

您可以在这里找到一些非常基本的工作示例:Prediction using neural networks

更多具有Keras的高级员工在这里:Time series prediction using RNN

不过,仅供参考,Chollet先生和Allaire先生根据上述文章提供的特别信息是:)

  

注意:市场和机器学习

     

一些读者注定要采用我们介绍的技术   在这里尝试一下预测价格的未来问题   股票市场上的证券(或货币汇率等)   上)。市场的统计特征与   天气现象等自然现象。尝试使用机器   当您只能公开访问时,学习学会击败市场   现有数据,这是一项艰巨的尝试,并且您很可能会浪费   您的时间和资源,无可奉告。

     

永远记住,就市场而言,过去的表现并非如此   一个很好的预测未来收益的方法–观察后视镜   是一种不好的驾驶方式。另一方面,机器学习是   适用于过去可以很好预测的数据集   未来。