预测#
The sktime.forecasting
模块包含用于预测的算法和组合工具。
所有 sktime
中的预测器都可以使用 sktime.registry.all_estimators
工具列出,使用 estimator_types="forecaster"
,可以选择性地通过标签进行过滤。有效的标签可以使用 sktime.registry.all_tags
列出。
基于标签的完整表格也可以在 估计器搜索页面 上找到(在“估计器类型”下拉菜单中选择“预测器”)。
基础#
基础预测器模板类。 |
|
|
预测范围。 |
管道组合#
用于构建预测管道的合成器。管道也可以使用 *
、**
、+
和 |
双下划线符号构建。
|
从任何类型的估计器创建一个管道。 |
|
用于预测转换后时间序列的元估计器。 |
|
使用外生数据的预测管道。 |
|
使用单独的预测器对每个序列进行预测。 |
|
用于在不同模型之间进行选择的 MultiplexForecaster。 |
|
用于预测内生预测中使用的自变量数据的预测器。 |
|
按实例或面板进行预测。 |
|
基于推断类别的不同预测器进行利用的合成器。 |
|
用于排列预测管道步骤的排列组合器。 |
|
聚合分层数据,拟合预测器并进行预测。 |
|
利用时间序列数据特性的不同预测器的合成器。 |
|
根据预测范围元素使用不同的参数。 |
|
忽略外生变量的合成器。 |
|
按顺序尝试一系列预测模型的预测器。 |
减少#
使用 sklearn
回归器或 sktime
时间序列回归器进行预测的减少预测器。
并发表格策略#
在同一时间戳使用外生数据 - 简单的减少策略。
|
简单减少预测内生变量从同时的外生变量。 |
直接和递归 - sktime
原生第一代#
第一代直接和递归减少预测器,基于 numpy
。
可以通过 make_reduction
构建不同的策略,以便于指定。
|
基于归约到表格或时间序列回归的预测器。 |
|
从预测到表格回归的直接简化。 |
|
从预测到时间序列回归的直接简化。 |
|
从预测到表格回归的多输出缩减。 |
从预测到时间序列回归的多输出约简。 |
|
|
从预测到表格回归的递归简化。 |
从预测到时间序列回归的递归简化。 |
|
|
从预测到表格回归的Dir-rec归约。 |
|
从预测到时间序列回归的Dir-rec归约。 |
直接和递归 - sktime
原生第二代#
基于 pandas
的直接和递归减少预测器的第二代重新架构。
|
直接减少预测器,包括单输出、多输出、外生Dir。 |
直接和递归 - 第三方#
|
|
|
飞镖回归模型估计器。 |
|
Darts 线性回归估计器。 |
|
Darts XGBModel 估计器。 |
朴素预测者#
|
基于对过去趋势持续的简单假设的预测。 |
|
播放已知或规定值作为预测的预测器。 |
预测区间#
为任何预测器添加预测区间的包装器。
|
基于单独的预测器计算预测方差。 |
|
基于一种朴素策略计算预测方差。 |
|
经验预测区间和一致性预测区间。 |
|
通过聚合其引导样本的预测来预测时间序列。 |
|
集成Bootstrap预测区间预测器。 |
趋势预测者#
|
基于趋势的时间序列数据预测,回归值基于索引。 |
|
用多项式趋势预测时间序列数据。 |
|
基于 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) 模型。 |
|
(S)ARIMA(X) 预测器,来自 pmdarima 包。 |
|
(S)ARIMA(X) 预测器,来自 statsmodels 的 tsa.arima 模块。 |
|
(S)ARIMA(X) 预测器,来自 statsmodels 的 tsa.statespace 模块。 |
|
VAR 模型来自 statsmodels。 |
|
一个灵活的类似VAR的预测器,结合了表格化和回归。 |
|
statsmodels 中的 VARMAX 预测模型 |
自动ARIMA模型#
|
Auto-(S)ARIMA(X) 预测器,来自 pmdarima 包。 |
|
StatsForecast AutoARIMA 估计器。 |
ARCH 模型#
|
StatsForecast ARCH 估计器。 |
|
StatsForecast GARCH 估计器。 |
|
直接从 python 包 arch 接口 ARCH 模型。 |
结构化时间序列模型#
|
自回归分布滞后(ARDL)模型。 |
|
具有多季节性的时间序列的 BATS 预测器。 |
|
TBATS 预测器用于具有多重季节性的时间序列。 |
|
StatsForecast TBATS 模型。 |
|
通过封装 Facebook 的 prophet 算法 [R995275cbd543-1] 实现的 Prophet 预测器。 |
|
单变量 prophetverse 预测器 - 在 numpyro 中实现的 prophet 模型。 |
|
基于Meta的Prophet的贝叶斯分层时间序列预测模型。 |
|
statsmodels 中的 UnobservedComponents 预测模型。 |
|
动态因子预测器。 |
基于深度学习的预测器#
|
LTSF-线性预测器。 |
|
LTSF-DLinear 预测器。 |
|
LTSF-NLinear 预测器。 |
|
LTSF-Transformer 预测器。 |
|
使用huggingface模型进行预测的预测器。 |
|
TimesFM(时间序列基础模型)的零样本预测实现。 |
|
TinyTimeMixer 预测器用于多元时间序列的零样本预测。 |
|
条件可逆神经网络 (cINN) 预测器。 |
|
NeuralForecast RNN 模型。 |
|
NeuralForecast LSTM 模型。 |
|
pytorch-forecasting 时间序列融合变换器模型。 |
|
pytorch-forecasting DeepAR 模型。 |
|
pytorch-forecasting NHiTS 模型。 |
|
pytorch-forecasting NBeats 模型。 |
|
PyKANForecaster 使用 Kolmogorov Arnold 网络 [1] 来预测时间序列数据。 |
间歇时间序列预测器#
|
Croston 方法用于预测间歇性时间序列。 |
集成与堆叠#
|
预测器的集合。 |
|
自动为集成预测器找到最佳权重。 |
|
StackingForecaster. |
层次化协调#
|
分层协调预测器。 |
在线和流预测#
|
在线更新预测器集合。 |
|
无参数对冲算法。 |
|
基于非负最小二乘权重的集合预报。 |
|
仅在调用更新时定期更新。 |
|
在调用更新时定期进行重置。 |
|
关闭更新,即确保预测器仅被拟合且永不更新。 |
其他预测框架包的适配器#
通用框架适配器,通过 sktime
接口暴露其他框架。
|
在 sktime 中使用 |
模型选择与调优#
|
执行网格搜索交叉验证以找到最优模型参数。 |
|
执行随机搜索交叉验证以找到最佳模型参数。 |
|
在超参数上进行贝叶斯搜索的预测器。 |
|
执行Optuna搜索交叉验证以找到最优模型超参数。 |
模型评估(回测)#
|
使用时间序列交叉验证评估预测器。 |
时间索引分割器#
可以通过基于时间索引的分裂器来自定义评估和调整,有关这些分裂器的列表,请参阅 分裂器 API