基于统计模型的时序预测套件
项目描述
Nixtla

统计 ⚡️ 预测
使用统计和计量模型进行闪电般快速预测
StatsForecast 提供了一组广泛使用的单变量时间序列预测模型,包括自动 ARIMA
、ETS
、CES
和 Theta
模型,通过使用 numba
优化性能。它还包括大量基准模型。
安装
您可以使用以下方式安装 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 中
AutoARIMA
、AutoETS
、AutoCES
、MSTL
和Theta
的最快和最精确实现。 - 与 Spark、Dask 和 Ray 无缝兼容。
- 概率预测和置信区间。
- 支持外生变量和静态协变量。
- 异常检测。
- 熟悉的 sklearn 语法:
.fit
和.predict
。
亮点
- 包含 ARIMA 的
外生变量
和预测区间
。 - 比
pmdarima
快 20 倍。 - 比 R 快 1.5 倍。
- 比
Prophet
快 500 倍。 - 比
statsmodels
快 4 倍。 - 通过
numba
编译成高性能机器代码。 - 使用 ray 在 30 分钟 内处理 1,000,000 个序列。
- 在两行代码中替换 FB-Prophet 并获得速度和准确性。请参阅实验 此处。
- 在 5 分钟 内对 1,000,000 个序列上的 10 个基准模型进行拟合。
示例和指南
📚 端到端演练:多时间序列的模型训练、评估和选择
🔎 异常检测:使用样本预测区间检测时间序列中的异常
👩🔬 交叉验证:稳健的模型性能评估
❄️ 多重季节性:如何使用 MSTL 预测具有多重季节性的数据
🔌 预测需求峰值:用于检测每日峰值并降低电费的电力负荷预测。
📈 间歇性需求:预测具有非常少非零观测值的序列。
🌡️ 外生回归因子:如天气或价格
模型
自动预测
自动预测工具搜索最佳参数,并为一组时间序列选择最佳模型。这些工具对于大量单变量时间序列集合非常有用。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
AutoARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
AutoETS | ✅ | ✅ | ✅ | ✅ | |
AutoCES | ✅ | ✅ | ✅ | ✅ | |
AutoTheta | ✅ | ✅ | ✅ | ✅ |
ARIMA系列
这些模型利用时间序列中现有的自相关。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
ARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
自回归 | ✅ | ✅ | ✅ | ✅ | ✅ |
Theta系列
对去季节化时间序列拟合两条theta线,使用不同的技术获得并组合这两条theta线以生成最终的预测。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
Theta | ✅ | ✅ | ✅ | ✅ | |
优化Theta | ✅ | ✅ | ✅ | ✅ | |
动态Theta | ✅ | ✅ | ✅ | ✅ | |
动态优化Theta | ✅ | ✅ | ✅ | ✅ |
多重季节性
适用于具有一个以上明显季节性的信号。对于电力和日志等低频数据非常有用。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
MSTL | ✅ | ✅ | ✅ | ✅ | 如果趋势预测器支持 |
GARCH和ARCH模型
适用于对时间序列进行建模,这些时间序列在时间上表现出非恒定的波动性。ARCH模型是GARCH的一个特例。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
GARCH | ✅ | ✅ | ✅ | ✅ | |
ARCH | ✅ | ✅ | ✅ | ✅ |
基线模型
用于建立基线的经典模型。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
历史平均值 | ✅ | ✅ | ✅ | ✅ | |
天真 | ✅ | ✅ | ✅ | ✅ | |
随机游走 | ✅ | ✅ | ✅ | ✅ | |
季节性天真 | ✅ | ✅ | ✅ | ✅ | |
窗口平均值 | ✅ | ||||
季节性窗口平均值 | ✅ |
指数平滑
使用所有过去观测值的加权平均值,其中权重以指数方式减少到过去。适用于具有明显趋势和/或季节性的数据。对于没有明显趋势或季节性的数据,请使用SimpleExponential
系列。
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
简单指数平滑 | ✅ | ||||
优化简单指数平滑 | ✅ | ||||
季节性指数平滑 | ✅ | ||||
优化季节性指数平滑 | ✅ | ||||
Holt | ✅ | ✅ | ✅ | ✅ | |
HoltWinters | ✅ | ✅ | ✅ | ✅ |
稀疏或间歇性
适用于具有非常少非零观测值的序列
模型 | 点预测 | 概率预测 | 样本内拟合值 | 概率拟合值 | 外生特征 |
---|---|---|---|---|---|
ADIDA | ✅ | ✅ | ✅ | ||
CrostonClassic | ✅ | ✅ | ✅ | ||
CrostonOptimized | ✅ | ✅ | ✅ | ||
CrostonSBA | ✅ | ✅ | ✅ | ||
IMAPA | ✅ | ✅ | ✅ | ||
TSB | ✅ | ✅ | ✅ |
🔨 如何贡献
引用
@misc{garza2022statsforecast,
author={Federico 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}
}
贡献者 ✨
感谢这些可爱的人(emoji key)
本项目遵循all-contributors规范。欢迎所有形式的贡献!
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
构建分布
statsforecast-1.7.8.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 44a89372e1761bba90ded17ccd6fd3504012d219e8ceb4c453d78be910e92287 |
|
MD5 | 6daef3791c06d330a7f3690805968477 |
|
BLAKE2b-256 | 38ef4f5157b9c1749ec13d12d721bc8af0dda90c5c4f0c75948db31d93b71829 |
哈希值 用于 statsforecast-1.7.8-cp312-cp312-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1815e702096e5da75add79c81b3cc867954f3a957c921836035a78065f8e720e |
|
MD5 | 13c2d93138e74aad67301bd5b83ae5d2 |
|
BLAKE2b-256 | e6ab5de37ea549895b9ee5701ac45bb7aff47ec7838754ab468188af7253b699 |
哈希值 用于 statsforecast-1.7.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c949af0b8b299bd1cf541de9b718c9f4ad627cd858fbda0a14bc4fd5d390241e |
|
MD5 | c37f91e56f2ef42b24e37b03e8239161 |
|
BLAKE2b-256 | 6b6fe70e0f3937ecbe65f353ba3df5385f6996e240fb366d3a2e1cfd7cc2daf4 |
哈希值 用于 statsforecast-1.7.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6eda1b19e9230925766d2f247ab64d873af09ba0db56d8ddf2705aa78e4d59b1 |
|
MD5 | 6dd2b4d8412a4a67fd58377321a9b0ea |
|
BLAKE2b-256 | 44d0f96049db657cb1f17f6513dc2bcd4d647ce10dcf2225260b23d1b3210ac7 |
哈希值 用于 statsforecast-1.7.8-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a598bedc662ae892d5ab050352746805a731a8aec511a6771cf03b1f4d76e3f2 |
|
MD5 | 6d65535bc51f0e7f226b54946deb2781 |
|
BLAKE2b-256 | a5f5e18a4a5d1023159411c0080095b1ee673e6f78493f1ad5c32b2e17ebe1d8 |
哈希值 用于 statsforecast-1.7.8-cp312-cp312-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33eace24080e559ac410fbed361cabfe688cb2f9b9a2e2f20aca19dcbc20be0d |
|
MD5 | 3d0ba26f34f1ee03c39ea0d80dd353ca |
|
BLAKE2b-256 | 0eff908343552251642c8d2dd374e5b909d2c2d16ba6abc60f9d2a24076c65e9 |
哈希值 用于 statsforecast-1.7.8-cp311-cp311-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | da74148ab2e398ad4310c12fa34517477ad20fc49b935f63c330da2e94380c9f |
|
MD5 | d6c9f1445519e2b2a2420ab1f7da3fbb |
|
BLAKE2b-256 | de7c4e56c0c5aa11f73cebd5e49ec55cc7be6799c559a290d2eac893cef18394 |
哈希值 用于 statsforecast-1.7.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 84bc52363d66ece211e6d196eb764fceb097384a192031be866bea02f7e62c4d |
|
MD5 | 2888851d063ab7d722a65261cde1eca1 |
|
BLAKE2b-256 | 8b0afd4477e16c0d9509d503891dbba2baf73f4b17426850c3c02350a18ab049 |
哈希值 用于 statsforecast-1.7.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aa02344b08e71497ddc562b023ab627b3703f035fd703dad3e5a0f6e94cb8c7f |
|
MD5 | cb8d30462cd98bac75070aa85dc39ca3 |
|
BLAKE2b-256 | a80f62317fadd4b5d9e1fe0b88d352cbad2e254a5c9ebfbba6d379d2096a8110 |
哈希值 用于 statsforecast-1.7.8-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 725ebea30e9098c812dfbc85dc31a5b459d46d3b81e68212899894770f27648a |
|
MD5 | 92eed6e6bb9e4554e3ede5f4415e9cdd |
|
BLAKE2b-256 | fb8198990339028ee547a1d5b155f411d42b29df5cb6bad80830accb665dad09 |
哈希值 用于 statsforecast-1.7.8-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 737c99fff0e881fb1713e7f38e5d3b523a6451650564706eef91ce647d5a8d74 |
|
MD5 | 41155bec787e7082088166fb370f6687 |
|
BLAKE2b-256 | b39ef71462cc00622b653bd9d1865b08840140267389f6fe50adcf9c8a5935fe |
哈希值 用于 statsforecast-1.7.8-cp310-cp310-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e020832403530e5be74f44738d792c043faecc2718e71cc6cf1372f361210f64 |
|
MD5 | 665a671b70af21683eb5853b5cb368f3 |
|
BLAKE2b-256 | 2f9c9bc8b708ddf7ba852448ea821cf6ba04f9f482462bd0b6f9bd0d4c00e5f8 |
哈希值 用于 statsforecast-1.7.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 892413f04f48c6036ebefb759cf676b0cf98ce6079c3f1a55795eba3a06d20b2 |
|
MD5 | 760364745a5c6c467d02a19dc7535488 |
|
BLAKE2b-256 | 87dda5fc68cc69a1c81e545d44ba74fd0c6a4e3a69db27ef7fb35e10d6de1ca0 |
哈希值 用于 statsforecast-1.7.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 12f1bea7e1a23ca425476dfcf17dc56a44462ce0284f8c6f82c65b49c5c23b0b |
|
MD5 | 09ad4991e3efccc82d7e8100f38e87e4 |
|
BLAKE2b-256 | a535e662883ae62829f921cd93f7007b955206c2c46006f51ecd07ffa108ee84 |
哈希值 用于 statsforecast-1.7.8-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a205baeac2db8afae70a67498c9ec89762525d88c741e323af5a539e4260cc61 |
|
MD5 | b9aba6ade8f2c935f771a51b6dc2ade7 |
|
BLAKE2b-256 | 6cc5d1891f334d500647ab05e9e5dea0b89724097d859b031051c7822d75c6e3 |
哈希值 用于 statsforecast-1.7.8-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 79e5683a43265edd55d71b31bc602b29e8e38e61d0c9ef4b9000056ab6b8534e |
|
MD5 | 2ed3ec3f9382b71ab2b4d28dbbf9c366 |
|
BLAKE2b-256 | 240559d9bfe4586f006ac5d06d7a6e1760f6ca5f31208bace43b64eff55c647a |
哈希值 用于 statsforecast-1.7.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90df1972fcc6fe945a0e80398174f9a88fefc3ef1980e24a045e7029e9cf1eb2 |
|
MD5 | 4e936289cd51a07f1613c1983aac7ede |
|
BLAKE2b-256 | eebf95e92580072ed8cc0998beac933425c9dc78faf0f0998686cf8303e3e24d |
哈希值 用于 statsforecast-1.7.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 77f4d9d32c5c4df65720a71721af405f4d348f341ade89d1cabbdc7f02af73a9 |
|
MD5 | 1c9785455ef6dd2dc12ad68a64edc6b8 |
|
BLAKE2b-256 | 3d06061e189b0d0d82f257f635f6a3f00a39dea962dd13a58e2674fae6275d20 |
哈希值 用于 statsforecast-1.7.8-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b51895e1dd88ab8abe0c43135822e4f5eafd0a903387407c21eda9e610cf00af |
|
MD5 | 7f5662352c4ab68e37c68c20118816ab |
|
BLAKE2b-256 | f13b8a2f0ec9ff5295e5541ed7ebb0587a3aa16c6310b5ea4b093354cda2fbfd |
哈希值 用于 statsforecast-1.7.8-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34351e94006ad83fac45a78667731923b131bed5149b9f96c6bf249117b7612e |
|
MD5 | 825d93273da12e87090d31a38e6725b2 |
|
BLAKE2b-256 | 9bb6e347ad8203a6157d2846ceb0b246d46b58d7c14b23030f32e899b0bef4e3 |
哈希值 用于 statsforecast-1.7.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d24b2a1f8e88bbeda3905bae7adc9ccffce40bbf10b64bd1121600fed958b9fa |
|
MD5 | 9562e607ae603d16d6a13580b841a907 |
|
BLAKE2b-256 | c7e1097d1ef07733808ee5f73843334ab977dbbf9f231c91be2f5e2d94ec0851 |
哈希值 用于 statsforecast-1.7.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6fa9babfd8fb046912d2dde747f79f1957c20b717fc65a9f91c9994d8db6a737 |
|
MD5 | 1eeabfd816b3c2afd8bccd506d3b708f |
|
BLAKE2b-256 | 3eaf570719df38f8a26a1b992ddb67710cf155d35ea4c10fa6a8fa63e436ab09 |
哈希值 用于 statsforecast-1.7.8-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 785c08a87bacbb4613b8e5d8273f6b31e2e8f3752f651bd695219d43656b6738 |
|
MD5 | 3830555ea949c7916314eab7f385c3eb |
|
BLAKE2b-256 | 0d555baad59eeda756bd17d972dfc55b8716821355977df7a96991fb9e1f0838 |
哈希值 用于 statsforecast-1.7.8-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 656f9bbd328557aec776c8ce90f1a0c7601b4ca391454eae348c24ae88f7a1d5 |
|
MD5 | 604dc9b2944b1a6a3c954ca53e6cf2c9 |
|
BLAKE2b-256 | c8b6bdcc02a7949dd5389065433dcc28cb5f99ed1401ba57e95eb52e9085ce95 |