StatsForecast ⚡️

StatsForecast 提供了一系列流行的单变量时间序列预测模型,这些模型经过优化可实现高性能和可扩展性。

安装

您可以使用以下命令安装 StatsForecast

pip install statsforecast

或者

conda install -c conda-forge statsforecast

请访问我们的安装指南以获取更多说明。

快速开始

最小示例

from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA
from statsforecast.utils import AirPassengersDF

df = AirPassengersDF
sf = StatsForecast(
    models = [AutoARIMA(season_length = 12)],
    freq = 'M'
)

sf.fit(df)
sf.predict(h=12, level=[95])

通过这个 快速指南 开始。

请遵循这个 端到端的教程 来获取最佳实践。

为什么?

当前用于统计模型的Python替代品速度慢、准确性差且扩展性差。因此,我们创建了一个可以在生产环境中使用或作为基准的库。 StatsForecast包括一整套可以高效拟合数百万个时间序列的模型。

特性

  • Python中AutoARIMAAutoETSAutoCESMSTLTheta的最快和最精确的实现。
  • 开箱即用兼容Spark、Dask和Ray。
  • 概率预测和置信区间。
  • 支持外生变量和静态协变量。
  • 异常检测。
  • 熟悉的sklearn语法:.fit.predict

亮点

  • 包括 外生变量预测区间 的 ARIMA。
  • pmdarima 快 20 倍 查看
  • R 快 1.5 倍。
  • Prophet 快 500 倍。
  • statsmodels 快 4 倍 查看
  • 通过 numba 编译为高性能机器代码。
  • 30 分钟 内使用 ray 处理 1,000,000 个序列。
  • 用两行代码替换 FB-Prophet,提升速度和准确性。实验请 查看这里
  • 5 分钟内 处理 1,000,000 个序列 进行 10 个基准模型拟合。

有缺失的内容吗?请提出问题或在 Slack 写信给我们。

示例与指南

📚 端到端流程:多时间序列的模型训练、评估和选择

🔎 异常检测:使用样本内预测区间检测时间序列中的异常。

👩‍🔬 交叉验证:稳健模型的性能评估。

❄️ 多重季节性:如何使用MSTL对具有多重季节性的数据进行预测。

🔌 预测需求峰值:电力负荷预测以检测每日峰值并降低电费。

📈 间歇性需求:预测观察值非常少的序列。

🌡️ 外生回归变量:如天气或价格

模型

自动预测

自动预测工具搜索最佳参数并为一组时间序列选择最佳模型。这些工具对于大量单变量时间序列非常有用。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
AutoARIMA
AutoETS
AutoCES
AutoTheta

ARIMA 家族

这些模型利用时间序列中存在的自相关。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
ARIMA
自回归

Theta 家族

为去季节化的时间序列拟合两条 theta 线,使用不同的技术获得并结合这两条 theta 线以生成最终预测。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
Theta
优化 Theta
动态 Theta
动态优化 Theta

多重季节性

适合具有多个明显季节性的信号。对于像电力和日志这样的低频数据非常有用。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
MSTL 如果趋势预测器支持

GARCH 和 ARCH 模型

适合建模随时间变化的非恒定波动的时间序列。ARCH 模型是 GARCH 的一个特例。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
GARCH
ARCH

基准模型

用于建立基准的经典模型。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
历史平均
天真预测
带漂移的随机游走
季节性天真预测
窗口平均
季节性窗口平均

指数平滑

使用所有过去观察值的加权平均,其中权重随时间指数下降。适合具有明显趋势和/或季节性的数据。对于没有明显趋势或季节性的数据,使用 SimpleExponential 家族。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
简单指数平滑
优化简单指数平滑
季节性指数平滑
优化季节性指数平滑
霍尔特
霍尔特-温特斯

稀疏或间歇性

适合仅有极少非零观察值的序列。

模型 点预测 概率预测 样本拟合值 概率拟合值 外生特征
ADIDA
Croston 经典
Croston 优化
Croston SBA
IMAPA
TSB

如何贡献

请参见 CONTRIBUTING.md

引用

@misc{garza2022statsforecast,
    author={Federico Garza, Max Mergenthaler Canseco, Cristian Challú, Kin G. Olivares},
    title = {{StatsForecast}: 极速的统计与经济计量模型预测},
    year={2022},
    howpublished={{PyCon} 盐湖城, 犹他州, 美国 2022},
    url={https://github.com/Nixtla/statsforecast}
}

Give us a ⭐ on Github