Back to models
Forecaster

TimerS1Forecaster

Categorical in XPred intPred int insample

Timer-S1 forecaster via Hugging Face transformers.

Quickstart

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)

Parameters(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.

Examples

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 ],
... )

References

  1. [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 [2 ] Timer-S1 model card: https://huggingface.co/bytedance-research/Timer-S1 [3 ] Quantization docs: https://huggingface.co/docs/transformers/en/main_classes/quantization