【问题标题】:How to construct dataframe for time series data using ensemble learning methods如何使用集成学习方法为时间序列数据构建数据框
【发布时间】:2019-01-06 13:11:53
【问题描述】:

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

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

非常感谢!

【问题讨论】:

  • 请参阅this link 和this link 并以您清楚地描述问题的方式格式化您的问题,提供示例数据集和部分代码。通过这种方式,您可以向我们展示您在这个问题上所做的努力,并帮助我们为您提供更好的解决方案。

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


【解决方案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 先生在上述文章中的特别信息,):

注意:市场和机器学习

有些读者一定想采用我们介绍的技术 在这里尝试他们预测未来价格的问题 股票市场上的证券(或货币汇率等 在)。市场具有非常不同的统计特征 自然现象,例如天气模式。尝试使用机器 学习打败市场,当你只能公开访问 可用的数据,是一项艰巨的工作,您可能会浪费 你的时间和资源没有什么可显示的。

永远记住,当谈到市场时,过去的表现并不是 一个很好的未来回报预测器——看后视镜 是一种不好的驾驶方式。另一方面,机器学习是 适用于过去可以很好预测的数据集 未来。

【讨论】:

  • 感谢您的评论,等我考试完我会仔细阅读!
猜你喜欢
  • 2019-09-19
  • 2019-01-22
  • 2018-04-11
  • 2021-01-30
  • 2018-09-17
  • 2018-08-11
  • 2016-04-29
  • 2019-10-11
  • 2017-12-29
相关资源
最近更新 更多