27
  • 时间序列预测/回归有哪些算法?
    • 使用神经网络怎么样?(关于这个主题的最佳文档?)
    • 是否有可以提供帮助的 python 库/代码片段?
4

7 回答 7

73

时间序列回归的经典方法是:

  • 自回归模型(有关于它们的全部文献)

  • 高斯过程

  • 傅里叶分解或类似方法提取信号的周期性分量(即数据中隐藏的振荡)

我知道的其他不太常见的方法是

  • 慢特征分析,一种提取时间序列驱动力的算法,例如,混沌信号背后的参数

  • 神经网络 (NN) 方法,使用循环神经网络(即,用于处理时间信号)或经典前馈神经网络,接收过去数据的输入部分并尝试预测未来的某个点;后者的优点是已知循环神经网络在考虑遥远的过去方面存在问题

在我看来,对于财务数据分析,重要的是不仅要获得时间序列的最佳猜测外推,还要获得可靠的置信区间,因为由此产生的投资策略可能会因此而大不相同。概率方法,如高斯过程,“免费”为您提供,因为它们返回可能的未来值的概率分布。使用经典统计方法,您将不得不依赖自举技术

有许多提供统计和机器学习工具的 Python 库,以下是我最熟悉的:

  • NumPySciPy是 Python 科学编程的必备工具
  • R 有一个 Python 接口,称为RPy
  • statsmodel包含经典的统计模型技术,包括自回归模型;它与流行的数据分析包Pandas配合得很好
  • scikits.learnMDPMLPyOrange是机器学习算法的集合
  • PyMC实现贝叶斯统计模型和拟合算法的 python 模块,包括马尔可夫链蒙特卡罗。
  • PyBrain包含(除其他外)前馈和循环神经网络的实现
  • Gaussian Process 站点有一个 GP 软件列表,包括两个 Python 实现
  • mloss是一个开源机器学习软件的目录
于 2010-09-05T20:40:09.173 回答
5

我对 python 库一无所知,但是 R 中有很好的预测算法是开源的。有关时间序列预测的代码和参考,请参阅预测包。

于 2010-08-28T02:28:11.793 回答
5

两种方法

有两种方法可以处理分类、回归、聚类、预测和相关任务的时间结构化输入:

  1. 专用时间序列模型:机器学习算法直接结合了此类时间序列。这样的模型就像一个黑匣子,很难解释模型的行为。示例是自回归模型。
  2. 基于特征的方法:在这里,时间序列被映射到另一个可能更低维的表示。这意味着特征提取算法计算特征,例如时间序列的平均值或最大值。然后将这些特征作为特征矩阵传递给“正常”机器学习,例如神经网络、随机森林或支持向量机。这种方法的优点是可以更好地解释结果。此外,它使我们能够使用完善的监督机器学习理论。

tsfresh 计算大量特征

python 包tsfresh从包含时间序列的 pandas.DataFrame 计算大量此类特征。您可以在http://tsfresh.readthedocs.io找到它的文档。

在此处输入图像描述

免责声明:我是 tsfresh 的作者之一。

于 2016-10-27T14:49:24.580 回答
4

只谈它们背后的算法,我最近在一个项目中使用了双指数平滑,当数据有趋势时,它通过预测新值做得很好。

实现非常简单,但是对于您的情况,该算法可能没有充分阐述。

于 2010-08-30T19:05:56.363 回答
4

您是否尝试过自相关来查找时间序列中的周期性模式?您可以使用numpy.correlate函数来做到这一点。

于 2010-09-02T18:11:46.970 回答
2

数据处理的分组方法被广泛用于预测财务数据。

于 2012-05-07T07:24:15.963 回答
1

如果您想了解使用 Python 进行时间序列预测,那么下面的链接非常有帮助。

https://github.com/ManojKumarMaruthi/Time-Series-Forecasting

于 2019-08-09T10:27:42.490 回答