预测#

The sktime.forecasting 模块包含用于预测的算法和组合工具。

所有 sktime 中的预测器都可以使用 sktime.registry.all_estimators 工具列出,使用 estimator_types="forecaster",可以选择性地通过标签进行过滤。有效的标签可以使用 sktime.registry.all_tags 列出。

基于标签的完整表格也可以在 估计器搜索页面 上找到(在“估计器类型”下拉菜单中选择“预测器”)。

基础#

BaseForecaster()

基础预测器模板类。

ForecastingHorizon([values, is_relative, freq])

预测范围。

管道组合#

用于构建预测管道的合成器。管道也可以使用 ***+| 双下划线符号构建。

make_pipeline(*steps)

从任何类型的估计器创建一个管道。

TransformedTargetForecaster(steps)

用于预测转换后时间序列的元估计器。

ForecastingPipeline(steps)

使用外生数据的预测管道。

ColumnEnsembleForecaster(forecasters)

使用单独的预测器对每个序列进行预测。

MultiplexForecaster(forecasters[, ...])

用于在不同模型之间进行选择的 MultiplexForecaster。

ForecastX(forecaster_y[, forecaster_X, ...])

用于预测内生预测中使用的自变量数据的预测器。

ForecastByLevel(forecaster[, groupby])

按实例或面板进行预测。

GroupbyCategoryForecaster(forecasters[, ...])

基于推断类别的不同预测器进行利用的合成器。

Permute(estimator[, permutation, steps_arg])

用于排列预测管道步骤的排列组合器。

HierarchyEnsembleForecaster(forecasters[, ...])

聚合分层数据,拟合预测器并进行预测。

TransformSelectForecaster(forecasters[, ...])

利用时间序列数据特性的不同预测器的合成器。

FhPlexForecaster(forecaster[, fh_params, ...])

根据预测范围元素使用不同的参数。

IgnoreX(forecaster[, ignore_x])

忽略外生变量的合成器。

FallbackForecaster(forecasters[, verbose, ...])

按顺序尝试一系列预测模型的预测器。

减少#

使用 sklearn 回归器或 sktime 时间序列回归器进行预测的减少预测器。

并发表格策略#

在同一时间戳使用外生数据 - 简单的减少策略。

YfromX(estimator[, pooling])

简单减少预测内生变量从同时的外生变量。

直接和递归 - sktime 原生第一代#

第一代直接和递归减少预测器,基于 numpy

可以通过 make_reduction 构建不同的策略,以便于指定。

make_reduction(estimator[, strategy, ...])

基于归约到表格或时间序列回归的预测器。

DirectTabularRegressionForecaster(estimator)

从预测到表格回归的直接简化。

DirectTimeSeriesRegressionForecaster(estimator)

从预测到时间序列回归的直接简化。

MultioutputTabularRegressionForecaster(estimator)

从预测到表格回归的多输出缩减。

MultioutputTimeSeriesRegressionForecaster(...)

从预测到时间序列回归的多输出约简。

RecursiveTabularRegressionForecaster(estimator)

从预测到表格回归的递归简化。

RecursiveTimeSeriesRegressionForecaster(...)

从预测到时间序列回归的递归简化。

DirRecTabularRegressionForecaster(estimator)

从预测到表格回归的Dir-rec归约。

DirRecTimeSeriesRegressionForecaster(estimator)

从预测到时间序列回归的Dir-rec归约。

直接和递归 - sktime 原生第二代#

基于 pandas 的直接和递归减少预测器的第二代重新架构。

DirectReductionForecaster(estimator[, ...])

直接减少预测器,包括单输出、多输出、外生Dir。

直接和递归 - 第三方#

SkforecastAutoreg(regressor, lags[, ...])

skforecast.ForecasterAutoreg.ForecasterAutoreg 类的适配器 [Rab014607127f-1]

DartsRegressionModel([lags, ...])

飞镖回归模型估计器。

DartsLinearRegressionModel([...])

Darts 线性回归估计器。

DartsXGBModel([past_covariates, ...])

Darts XGBModel 估计器。

朴素预测者#

NaiveForecaster([strategy, window_length, sp])

基于对过去趋势持续的简单假设的预测。

ForecastKnownValues(y_known[, method, ...])

播放已知或规定值作为预测的预测器。

预测区间#

为任何预测器添加预测区间的包装器。

SquaringResiduals([forecaster, ...])

基于单独的预测器计算预测方差。

NaiveVariance(forecaster[, initial_window, ...])

基于一种朴素策略计算预测方差。

ConformalIntervals(forecaster[, method, ...])

经验预测区间和一致性预测区间。

BaggingForecaster([bootstrap_transformer, ...])

通过聚合其引导样本的预测来预测时间序列。

EnbPIForecaster([forecaster, ...])

集成Bootstrap预测区间预测器。

趋势预测者#

TrendForecaster([regressor])

基于趋势的时间序列数据预测,回归值基于索引。

PolynomialTrendForecaster([regressor, ...])

用多项式趋势预测时间序列数据。

STLForecaster([sp, seasonal, trend, ...])

基于 statsmodels.tsa.seasonal.STL 实现实现了 STLForecaster。

CurveFitForecaster(function[, ...])

CurveFitForecaster 接受一个函数并通过使用 scipy curve_fit 来拟合它。

ProphetPiecewiseLinearTrendForecaster([...])

通过prophet拟合分段线性趋势,预测时间序列数据。

StatsForecastMSTL(season_length[, ...])

StatsForecast 使用 LOESS 模型的多季节趋势分解。

基于指数平滑的预测器#

ExponentialSmoothing([trend, damped_trend, ...])

Holt-Winters 指数平滑预测器。

AutoETS([error, trend, damped_trend, ...])

同时具备手动和自动拟合功能的ETS模型。

StatsForecastAutoETS([season_length, model, ...])

StatsForecast 自动指数平滑模型。

StatsForecastAutoCES([season_length, model])

StatsForecast 复杂指数平滑模型。

ThetaForecaster([initial_level, ...])

Theta 方法用于预测。

StatsForecastAutoTheta([season_length, ...])

Statsforecast AutoTheta 估计器。

AR/MA 类型预测器#

带有AR或MA成分的预测器。

以下所有“ARIMA”和“Auto-ARIMA”模型均包含SARIMAX功能。

(V)AR(I)MAX 模型#

AutoREG([lags, trend, seasonal, hold_back, ...])

自回归 AR-X(p) 模型。

ARIMA([order, seasonal_order, start_params, ...])

(S)ARIMA(X) 预测器,来自 pmdarima 包。

StatsModelsARIMA([order, seasonal_order, ...])

(S)ARIMA(X) 预测器,来自 statsmodels 的 tsa.arima 模块。

SARIMAX([order, seasonal_order, trend, ...])

(S)ARIMA(X) 预测器,来自 statsmodels 的 tsa.statespace 模块。

VAR([maxlags, method, verbose, trend, ...])

VAR 模型来自 statsmodels。

VARReduce([lags, regressor])

一个灵活的类似VAR的预测器,结合了表格化和回归。

VARMAX([order, trend, error_cov_type, ...])

statsmodels 中的 VARMAX 预测模型

自动ARIMA模型#

AutoARIMA([start_p, d, start_q, max_p, ...])

Auto-(S)ARIMA(X) 预测器,来自 pmdarima 包。

StatsForecastAutoARIMA([start_p, d, ...])

StatsForecast AutoARIMA 估计器。

ARCH 模型#

StatsForecastARCH([p])

StatsForecast ARCH 估计器。

StatsForecastGARCH([p, q])

StatsForecast GARCH 估计器。

ARCH([mean, lags, vol, p, o, q, power, ...])

直接从 python 包 arch 接口 ARCH 模型。

结构化时间序列模型#

ARDL([lags, order, fixed, causal, trend, ...])

自回归分布滞后(ARDL)模型。

BATS([use_box_cox, box_cox_bounds, ...])

具有多季节性的时间序列的 BATS 预测器。

TBATS([use_box_cox, box_cox_bounds, ...])

TBATS 预测器用于具有多重季节性的时间序列。

StatsForecastAutoTBATS(seasonal_periods[, ...])

StatsForecast TBATS 模型。

Prophet([freq, add_seasonality, ...])

通过封装 Facebook 的 prophet 算法 [R995275cbd543-1] 实现的 Prophet 预测器。

Prophetverse([changepoint_interval, ...])

单变量 prophetverse 预测器 - 在 numpyro 中实现的 prophet 模型。

HierarchicalProphet([trend, ...])

基于Meta的Prophet的贝叶斯分层时间序列预测模型。

UnobservedComponents([level, trend, ...])

statsmodels 中的 UnobservedComponents 预测模型。

DynamicFactor([k_factors, factor_order, ...])

动态因子预测器。

基于深度学习的预测器#

LTSFLinearForecaster(seq_len, pred_len, *[, ...])

LTSF-线性预测器。

LTSFDLinearForecaster(seq_len, pred_len, *)

LTSF-DLinear 预测器。

LTSFNLinearForecaster(seq_len, pred_len, *)

LTSF-NLinear 预测器。

LTSFTransformerForecaster(seq_len, ...[, ...])

LTSF-Transformer 预测器。

HFTransformersForecaster(model_path[, ...])

使用huggingface模型进行预测的预测器。

TimesFMForecaster(context_len, horizon_len)

TimesFM(时间序列基础模型)的零样本预测实现。

TinyTimeMixerForecaster([model_path, ...])

TinyTimeMixer 预测器用于多元时间序列的零样本预测。

CINNForecaster([n_coupling_layers, ...])

条件可逆神经网络 (cINN) 预测器。

NeuralForecastRNN([freq, local_scaler_type, ...])

NeuralForecast RNN 模型。

NeuralForecastLSTM([freq, ...])

NeuralForecast LSTM 模型。

PytorchForecastingTFT([model_params, ...])

pytorch-forecasting 时间序列融合变换器模型。

PytorchForecastingDeepAR([model_params, ...])

pytorch-forecasting DeepAR 模型。

PytorchForecastingNHiTS([model_params, ...])

pytorch-forecasting NHiTS 模型。

PytorchForecastingNBeats([model_params, ...])

pytorch-forecasting NBeats 模型。

PyKANForecaster([hidden_layers, ...])

PyKANForecaster 使用 Kolmogorov Arnold 网络 [1] 来预测时间序列数据。

间歇时间序列预测器#

Croston([smoothing])

Croston 方法用于预测间歇性时间序列。

集成与堆叠#

EnsembleForecaster(forecasters[, n_jobs, ...])

预测器的集合。

AutoEnsembleForecaster(forecasters[, ...])

自动为集成预测器找到最佳权重。

StackingForecaster(forecasters[, regressor, ...])

StackingForecaster.

层次化协调#

ReconcilerForecaster(forecaster[, method, ...])

分层协调预测器。

在线和流预测#

OnlineEnsembleForecaster(forecasters[, ...])

在线更新预测器集合。

NormalHedgeEnsemble([n_estimators, a, loss_func])

无参数对冲算法。

NNLSEnsemble([n_estimators, loss_func])

基于非负最小二乘权重的集合预报。

UpdateEvery(forecaster[, update_interval])

仅在调用更新时定期更新。

UpdateRefitsEvery(forecaster[, ...])

在调用更新时定期进行重置。

DontUpdate(forecaster)

关闭更新,即确保预测器仅被拟合且永不更新。

其他预测框架包的适配器#

通用框架适配器,通过 sktime 接口暴露其他框架。

HCrystalBallAdapter(model)

在 sktime 中使用 hcrystalball 预测器的适配器。

模型选择与调优#

ForecastingGridSearchCV(forecaster, cv, ...)

执行网格搜索交叉验证以找到最优模型参数。

ForecastingRandomizedSearchCV(forecaster, ...)

执行随机搜索交叉验证以找到最佳模型参数。

ForecastingSkoptSearchCV(forecaster, cv, ...)

在超参数上进行贝叶斯搜索的预测器。

ForecastingOptunaSearchCV(forecaster, cv, ...)

执行Optuna搜索交叉验证以找到最优模型超参数。

模型评估(回测)#

evaluate(forecaster, cv, y[, X, strategy, ...])

使用时间序列交叉验证评估预测器。

时间索引分割器#

可以通过基于时间索引的分裂器来自定义评估和调整,有关这些分裂器的列表,请参阅 分裂器 API