Zurück zu den Modellen
Forecaster

TimerS1Forecaster

Categorical in XPred intPred int insample

Timer-S1 forecaster via Hugging Face transformers.

This forecaster wraps Timer-S1 prediction models [1], [2] from Hugging Face and exposes them through the sktime forecasting interface.

The primary workflow is fit for zero-shot inference setup, which loads the model and stores history. It does not train or fine-tune model weights. Passing model_path=None initializes a Timer-S1 model from config instead of loading pretrained weights. These random weights cannot be trained through this estimator at the moment and are mainly useful for tests or local experimentation.

Schnellstart

python
from sktime.forecasting.timer_s1 import TimerS1Forecaster

estimator = TimerS1Forecaster(model_path='bytedance-research/Timer-S1', config=None, device_map='cpu', dtype=None, quantization_config=None, forward_kwargs=None, deterministic=False)

Parameter(7)

model_pathstr, default=”bytedance-research/Timer-S1”

Hugging Face repository identifier or local path to a Timer-S1 checkpoint. If None, a model is created from config.

configTimerS1Config or dict, optional (default=None)

Model configuration used when model_path=None. If provided as a dict, it is converted with TimerS1Config.from_dict. If None and model_path=None, the default TimerS1Config is used. This path creates random weights; the estimator does not currently provide training for those weights.

device_mapstr, dict, int, or torch.device, default=”cpu”

Device placement following the transformers device_map naming convention, for example "cpu", "cuda", "cuda:0", or "auto".

dtypetorch.dtype or str, optional (default=None)

Data type used for model loading, following the transformers dtype convention, for example torch.float16, torch.bfloat16, or "auto".

quantization_configtransformers.quantizers.HfQuantizer, optional

Valid quantization configuration object compatible with transformers.PreTrainedModel.from_pretrained [3].

forward_kwargsdict, optional (default=None)

Additional keyword arguments forwarded to model.generate(...) during predict and predict_quantiles.

deterministicbool, default=False

Whether point predictions should reset the transformers random seed before generation. Currently this is applied in predict methods.

Beispiele

Simple zero-shot forecasting with the default Timer-S1 checkpoint:
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.timer_s1 import TimerS1Forecaster
>>> y = load_airline ()
>>> # By default, loads bytedance-research/Timer-S1.
>>> forecaster = TimerS1Forecaster ()
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict (fh = [1, 2, 3 ]) Reduced-memory inference for the 8-billion-parameter model:
>>> import torch
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.timer_s1 import TimerS1Forecaster
>>> from transformers import BitsAndBytesConfig
>>> y = load_airline ()
>>> forecaster = TimerS1Forecaster (
... model_path = "bytedance-research/Timer-S1",
... forward_kwargs = { "revin": True },
... device_map = "auto",
... dtype = torch. bfloat16,
... quantization_config = BitsAndBytesConfig (load_in_8bit = True),
... )
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict (fh = [1, 2, 3 ]) Loading a quantized smaller model directly:
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.timer_s1 import TimerS1Forecaster
>>> y = load_airline ()
>>> forecaster = TimerS1Forecaster (
... model_path = "geetu040/Timer-S1-quantized-4bit",
... )
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict (fh = [1, 2, 3 ]) Randomly initialized local model, useful for tests or local experimentation. This model is not trained by fit; the weights stay random and should not be used as a trained forecaster:
>>> from sktime.forecasting.timer_s1 import TimerS1Forecaster
>>> forecaster = TimerS1Forecaster (
... model_path = None,
... config = {
... "hidden_size": 16,
... "intermediate_size": 16,
... "num_attention_heads": 4,
... "num_experts": 4,
... "num_hidden_layers": 1,
... "num_mtp_tokens": 1,
... },
... deterministic = True,
... ) Quantile prediction:
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.timer_s1 import TimerS1Forecaster
>>> y = load_airline ()
>>> forecaster = TimerS1Forecaster (
... model_path = "geetu040/Timer-S1-quantized-4bit",
... )
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict_quantiles (
... fh = [1, 2, 3 ],
... alpha = [0.1, 0.5, 0.9 ],
... )

Referenzen

[1]

Liu, Y., Su, X., Wang, S., Zhang, H., Liu, H., Wang, Y., Ye, Z., Xiang, Y., Wang, J., and Long, M. (2026). Timer-S1: A Billion-Scale Time Series Foundation Model with Serial Scaling. arXiv. https://arxiv.org/abs/2603.04791