StatsForecast提供了一系列广泛使用的单变量时间序列预测模型,包括使用numba
为高性能而优化的自动ARIMA
、 ETS
、 CES
和Theta
建模。它还包括大量基准模型。
您可以使用以下命令安装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 = 'ME' ,
)
sf . fit ( df )
sf . predict ( h = 12 , level = [ 95 ])
开始使用本快速指南。
请遵循此端到端演练以获得最佳实践。
当前统计模型的 Python 替代品速度慢、不准确且扩展性不好。因此,我们创建了一个库,可用于在生产环境中进行预测或作为基准。 StatsForecast
包含大量模型,可以有效地拟合数百万个时间序列。
AutoARIMA
、 AutoETS
、 AutoCES
、 MSTL
和Theta
。.fit
和.predict
。 exogenous variables
和prediction intervals
。pmdarima
快 20 倍。R
快 1.5 倍。Prophet
快 500 倍。statsmodels
快 4 倍。numba
编译为高性能机器代码。缺少什么吗?请提出问题或写信给我们
端到端演练:多个时间序列的模型训练、评估和选择
?异常检测:使用样本内预测间隔检测时间序列的异常。
??交叉验证:稳健模型的性能评估。
❄️ 多个季节性:如何使用 MSTL 预测具有多个季节性的数据。
?预测需求峰值:电力负荷预测,用于检测每日峰值并减少电费。
?间歇性需求:具有很少非零观测值的预测序列。
?️ 外生回归因素:例如天气或价格
自动预测工具搜索最佳参数并为一组时间序列选择最佳模型。这些工具对于大量单变量时间序列集合非常有用。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
自动ARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
自动排放交易系统 | ✅ | ✅ | ✅ | ✅ | |
汽车消费电子展 | ✅ | ✅ | ✅ | ✅ | |
AutoTheta | ✅ | ✅ | ✅ | ✅ | |
自动MFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
自动TBAT | ✅ | ✅ | ✅ | ✅ |
这些模型利用时间序列中现有的自相关性。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
阿里玛 | ✅ | ✅ | ✅ | ✅ | ✅ |
自回归 | ✅ | ✅ | ✅ | ✅ | ✅ |
将两条 θ 线拟合到去季节时间序列中,使用不同的技术来获取并组合两条 θ 线以生成最终预测。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
西塔 | ✅ | ✅ | ✅ | ✅ | |
优化Theta | ✅ | ✅ | ✅ | ✅ | |
动态Theta | ✅ | ✅ | ✅ | ✅ | |
动态优化Theta | ✅ | ✅ | ✅ | ✅ |
适合具有多个明显季节性的信号。对于电力和日志等低频数据很有用。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
MSTL | ✅ | ✅ | ✅ | ✅ | 如果趋势预测器支持 |
多模光纤勒索 | ✅ | ✅ | ✅ | ✅ | ✅ |
TBAT | ✅ | ✅ | ✅ | ✅ |
适用于对随时间呈现非恒定波动性的时间序列进行建模。 ARCH 模型是 GARCH 的特例。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
伽马奇 | ✅ | ✅ | ✅ | ✅ | |
拱 | ✅ | ✅ | ✅ | ✅ |
用于建立基线的经典模型。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
历史平均值 | ✅ | ✅ | ✅ | ✅ | |
幼稚的 | ✅ | ✅ | ✅ | ✅ | |
带漂移的随机游走 | ✅ | ✅ | ✅ | ✅ | |
季节性天真的 | ✅ | ✅ | ✅ | ✅ | |
窗口平均 | ✅ | ||||
季节性窗口平均 | ✅ |
使用所有过去观测值的加权平均值,其中权重在过去呈指数下降。适用于具有明确趋势和/或季节性的数据。对于没有明显趋势或季节性的数据,请使用SimpleExponential
系列。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
简单指数平滑 | ✅ | ||||
简单指数平滑优化 | ✅ | ||||
季节性指数平滑 | ✅ | ||||
季节性指数平滑优化 | ✅ | ||||
霍尔特 | ✅ | ✅ | ✅ | ✅ | |
霍尔特·温特斯 | ✅ | ✅ | ✅ | ✅ |
适用于非零观测值很少的系列
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
阿迪达 | ✅ | ✅ | ✅ | ||
克罗斯顿经典 | ✅ | ✅ | ✅ | ||
克罗斯顿优化 | ✅ | ✅ | ✅ | ||
克罗斯顿小企业管理局 | ✅ | ✅ | ✅ | ||
IMAPA | ✅ | ✅ | ✅ | ||
运输安全局 | ✅ | ✅ | ✅ |
请参阅 CONTRIBUTING.md。
@misc { garza2022statsforecast ,
author = { Azul Garza, Max Mergenthaler Canseco, Cristian Challú, Kin G. Olivares } ,
title = { {StatsForecast}: Lightning fast forecasting with statistical and econometric models } ,
year = { 2022 } ,
howpublished = { {PyCon} Salt Lake City, Utah, US 2022 } ,
url = { https://github.com/Nixtla/statsforecast }
}
感谢这些优秀的人(表情符号键):
蔚蓝 ? | 何塞·莫拉莱斯 ? | 苏加托·雷 | 杰夫·塔克斯 ? | 达林克主义者 ? | 亚历克·赫利亚尔 | 戴夫·赫希菲尔德 |
默门塔勒 | 亲属 | 亚斯莱特90 ? | 阿西尼格 ? | 菲利普·吉利森 | 塞巴斯蒂安·哈格恩 ? | 王涵 |
本·杰弗里 ? | 别利亚夫斯基 | 玛丽安娜·门切罗·加西亚 | 尼基尔·古普塔 ? | 京东 ? | 乔什·阿滕伯格 | 杰伦·彼得·博斯 |
杰伦·范德东克特 | 罗伊姆普罗格 | 纳尔逊·卡德纳斯·博拉尼奥 | 凯尔·施莫斯 | 阿克马尔·索利耶夫 | 杜家强 | 凯文·科 |
黄一本 | 安德鲁·格罗斯 | 塔尼什卡阿 | 曼努埃尔·卡尔佐拉里 |
该项目遵循所有贡献者规范。欢迎任何形式的贡献!