预测#
sktime.forecasting
模块包含用于预测的算法和组合工具。
可以使用 sktime.registry.all_estimators
实用工具列出 sktime
中的所有预测器,使用 estimator_types="forecaster"
,并可选地通过标签过滤。可以使用 sktime.registry.all_tags
列出有效标签。
也可以在估计器搜索页面上找到一个带有基于标签搜索的完整表格(在“估计器类型”下拉菜单中选择“forecaster”)。
基础#
基础预测器模板类。 |
|
|
预测范围。 |
Pipeline组合#
用于构建预测Pipeline的组合器。Pipeline也可以使用 *
, **
, +
, 和 |
魔术方法构建。
|
从任意类型的估计器创建Pipeline。 |
|
用于预测经过转换的时间序列的元估计器。 |
|
用于预测带有外生数据的Pipeline。 |
|
使用单独的预测器对每个序列进行预测。 |
|
用于在不同模型中进行选择的MultiplexForecaster。 |
|
预测器,用于预测外生数据,以用于内生预测。 |
|
按实例或面板进行预测。 |
|
根据时间序列的类别或聚类选择预测器。 |
|
根据时间序列的类别或聚类选择全局预测器。 |
|
聚合分层数据,拟合预测器并进行预测。 |
|
用于重排预测Pipeline步骤的置换组合器。 |
|
根据预测范围元素使用不同的参数。 |
|
用于忽略外生变量的组合器。 |
|
按顺序尝试列表中的预测模型的预测器。 |
降维#
使用 sklearn
回归器或 sktime
时间序列回归器进行预测的降维预测器。
并发表格策略#
在同一时间戳使用外生数据 - 简单的降维策略。
|
从并发外生变量预测内生变量的简单降维方法。 |
直接和递归 - sktime
原生第一代#
基于 numpy
的第一代直接和递归降维预测器。
可以通过 make_reduction
构建不同的策略,以便于指定。
|
基于降维到表格或时间序列回归的预测器。 |
|
从预测到表格回归的直接降维。 |
|
从预测到时间序列回归的直接降维。 |
|
从预测到表格回归的多输出降维。 |
从预测到时间序列回归的多输出降维。 |
|
|
从预测到表格回归的递归降维。 |
从预测到时间序列回归的递归降维。 |
|
|
从预测到表格回归的直递归(Direct-recursive)降维。 |
|
从预测到时间序列回归的直递归(Direct-recursive)降维。 |
直接和递归 - sktime
原生第二代#
基于 pandas
的第二代直接和递归降维预测器重构。
|
直接降维预测器,包括单输出、多输出、外生直接降维。 |
|
递归降维预测器,包括外生递归降维。 |
直接和递归 - 第三方#
|
|
|
|
|
Darts 回归模型估计器。 |
|
Darts 线性回归估计器。 |
|
Darts XGBoost 模型估计器。 |
朴素预测器#
|
基于对过去趋势持续的朴素假设进行的预测。 |
|
将已知或预设值作为预测结果的回放预测器。 |
预测区间#
向任何预测器添加预测区间的包装器。
|
基于单独的预测器计算预测方差。 |
|
基于朴素策略计算预测方差。 |
|
经验和一致性预测区间。 |
|
通过汇总其自助法样本的预测来预测时间序列。 |
|
集成自助预测区间预测器。 |
校准和偏差调整#
|
Box-Cox 偏差调整预测器。 |
趋势预测器#
|
基于趋势的时间序列数据预测,将值对索引进行回归。 |
|
使用多项式趋势预测时间序列数据。 |
|
基于 statsmodels.tsa.seasonal.STL 实现的 STLForecaster。 |
|
CurveFitForecaster 接受一个函数,并使用 scipy curve_fit 进行拟合。 |
使用分段线性趋势预测时间序列数据,通过 prophet 进行拟合。 |
|
|
使用样条趋势预测时间序列数据。 |
|
StatsForecast 基于 LOESS 模型的多元季节-趋势分解。 |
指数平滑预测器#
|
Holt-Winters 指数平滑预测器。 |
|
具有手动和自动拟合能力的 ETS 模型。 |
|
StatsForecast 自动指数平滑模型。 |
|
StatsForecast 复杂指数平滑模型。 |
|
Theta 方法预测。 |
|
Statsforecast AutoTheta 估计器。 |
AR/MA 类型预测器#
带有 AR 或 MA 分量的预测器。
下面所有的“ARIMA”和“Auto-ARIMA”模型都包含 SARIMAX 功能。
(V)AR(I)MAX 模型#
|
自回归 AR-X(p) 模型。 |
|
来自 pmdarima 包的 (S)ARIMA(X) 预测器。 |
|
来自 statsmodels, tsa.arima 模块的 (S)ARIMA(X) 预测器。 |
|
来自 statsmodels, tsa.statespace 模块的 (S)ARIMA(X) 预测器。 |
|
来自 statsmodels 的 VAR 模型。 |
|
一种灵活的类似 VAR 的预测器,结合了表格化和回归。 |
|
来自 statsmodels 的 VARMAX 预测模型。 |
|
来自 statsmodels 的向量误差修正模型。 |
Auto-ARIMA 模型#
|
来自 pmdarima 包的 Auto-(S)ARIMA(X) 预测器。 |
|
StatsForecast AutoARIMA 估计器。 |
ARCH 模型#
|
StatsForecast ARCH 估计器。 |
|
StatsForecast GARCH 估计器。 |
|
直接接口来自 python 包 arch 的 ARCH 模型。 |
结构化时间序列模型#
|
自回归分布式滞后 (ARDL) 模型。 |
|
用于具有多重季节性时间序列的 BATS 预测器。 |
|
用于具有多重季节性时间序列的 TBATS 预测器。 |
|
StatsForecast TBATS 模型。 |
|
通过包装 Facebook 的 prophet 算法实现的 Prophet 预测器 [R995275cbd543-1]。 |
|
单变量 prophetverse 预测器 - 在 numpyro 中实现的 prophet 模型。 |
|
一个基于 Meta Prophet 的贝叶斯分层时间序列预测模型。 |
|
来自 statsmodels 的 UnobservedComponents 预测模型。 |
|
动态因子预测器。 |
基于深度学习的预测器#
|
LTSF-Linear 预测器。 |
|
LTSF-DLinear 预测器。 |
|
LTSF-NLinear 预测器。 |
|
LTSF-Transformer 预测器。 |
|
SCINet 预测器。 |
|
条件可逆神经网络 (cINN) 预测器。 |
|
NeuralForecast RNN 模型。 |
|
NeuralForecast LSTM 模型。 |
|
pytorch-forecasting 时序融合 Transformer 模型。 |
|
pytorch-forecasting DeepAR 模型。 |
|
pytorch-forecasting NHiTS 模型。 |
|
pytorch-forecasting NBeats 模型。 |
|
PyKANForecaster 使用 Kolmogorov Arnold 网络 [1] 预测时间序列数据。 |
|
使用 RBF 变换和 'NN' 层进行时间序列预测的模型。 |
|
指数平滑循环神经网络。 |
预训练和基础模型#
|
使用 huggingface 模型进行预测的预测器。 |
|
亚马逊研究院开发的 Chronos 和 Chronos-Bolt 零样本预测器接口。 |
|
用于使用 MOIRAI 预测器的适配器。 |
|
用于零样本预测的 TimesFM (时间序列基础模型) 实现。 |
|
用于多元时间序列零样本预测的 TinyTimeMixer 预测器。 |
|
Time-LLM 接口。 |
间歇性时间序列预测器#
|
用于预测间歇性时间序列的 Croston 方法。 |
|
StatsForecast ADIDA(汇总-分解间歇性需求方法)模型。 |
集成和堆叠#
|
预测器集成。 |
|
自动为集成预测器找到最佳权重。 |
|
StackingForecaster。 |
分层协调#
|
分层协调预测器。 |
在线和流式预测#
|
预测器的在线更新集成。 |
|
无参数对冲算法。 |
|
基于非负最小二乘权重的集成预测。 |
|
只在调用 update 时定期更新。 |
|
在调用 update 时定期重新拟合。 |
|
关闭更新,即确保预测器只进行拟合而不进行更新。 |
其他预测框架包的适配器#
通用框架适配器,通过 sktime
接口暴露其他框架。
|
用于在 sktime 中使用 |
模型选择和调优#
|
执行网格搜索交叉验证以找到最优模型参数。 |
|
执行随机搜索交叉验证以找到最优模型参数。 |
|
对预测器超参数进行贝叶斯搜索。 |
|
执行 Optuna 搜索交叉验证以找到最优模型超参数。 |
模型评估(回测)#
|
使用时间序列交叉验证评估预测器。 |
时间索引分割器#
可以使用基于时间索引的分割器自定义评估和调优,有关列表请参阅分割器 API