时间序列分析是数据科学家最常见的问题之一。大多数时间序列解决方案涉及经济预测、资源需求预测、股票市场分析和销售分析。
如果从头开始,为大量与时间相关的数据开发复杂的模型对于程序员来说可能是一项艰巨的任务。这就是 Python 的一个好处,它有许多时间序列相关的库可以直接使用。
本文将讨论五个这样的库,如果您对解决时间序列相关问题感兴趣,它们可能会对您有所帮助。其中一些库正在使用深度学习方法来查找数据中的最佳模式。
尽管如此,我还是建议用你的数据一个一个地尝试这些库,然后观察哪个模型可以帮助你以更好的方式捕捉模式。您还可以组合每个模型的结果以获得合并的结果——这有时会为我们提供更好的结果。
AutoTS
顾名思义,它是一个用于自动时间序列分析的 Python 库。AutoTS 允许我们用一行代码训练多个时间序列模型,以便我们可以选择最适合的模型。
该库是 autoML 的一部分,其目标是为初学者提供自动化库。
依赖
- Python 3.6+
- Numpy
- Pandas
- Sklearn
- Statsmodels
Prophet
Prophet 是由 Facebook 的数据科学团队开发的用于解决时间序列相关问题的优秀库,可以使用在 R 和 Python 中。
这对于处理具有强烈季节性影响的时间序列(如购买行为或销售预测)特别有用。此外,它可以很好地处理杂乱的数据,无需任何手动操作。
Darts
Darts 是由 Unit8.co 开发的用于预测时间序列,并且对scikit-learn 友好 的Python 包。它包含大量模型,从 ARIMA 到深度神经网络,用于处理与日期和时间相关的数据。
该库的好处在于它还支持用于处理神经网络的多维类。
它还允许用户结合来自多个模型和外部回归模型的预测,从而更容易地对模型进行回测。
Pyflux
Pyflux 是一个为 Python 构建的开源时间序列库。Pyflux选择了更多的概率方法来解决时间序列问题。这种方法对于需要更完整的不确定性的预测这样的任务特别有利。
用户可以建立一个概率模型,其中通过联合概率将数据和潜在变量视为随机变量。
Sktime
Sktime是一个Python库,它带有时间序列算法和工具,与scikit-learn兼容。它还具有分类模型、回归模型和时间序列预测模型。这个库的主要目标是制作可以与scikit-learn互操作。
总结
这些是一些可以在处理时间序列问题时使用的Python库/框架。在互联网上还有一些更酷的时间系列库,比如tsfresh、atspy、kats——你也可以去看看。
主要的目标是根据你的需要选择一个库,也就是说,这个库可以匹配你的问题陈述的需求。要了解更多关于这些库的信息,你可以查看它们各自提供的文档,因为它们中的大多数都是完全开源的。
作者:Pranjal Saxena