Back to models
Forecaster

LTSFTransformerForecaster

LTSF-Transformer Forecaster.

Quickstart

python
from sktime.forecasting.ltsf import LTSFTransformerForecaster

estimator = LTSFTransformerForecaster(seq_len, context_len, pred_len, *, num_epochs=16, batch_size=8, in_channels=1, individual=False, criterion=None, criterion_kwargs=None, optimizer=None, optimizer_kwargs=None, lr=0.001, custom_dataset_train=None, custom_dataset_pred=None, position_encoding=True, temporal_encoding=True, temporal_encoding_type='linear', d_model=512, n_heads=8, d_ff=2048, e_layers=3, d_layers=2, factor=5, dropout=0.1, activation='relu', freq='h')

Parameters(26)

seq_lenint
Length of the input sequence. Preferred to be twice the pred_len.
pred_lenint
Length of the prediction sequence.
context_lenint, optional (default=2)
Length of the label sequence. Preferred to be same as the pred_len.
num_epochsint, optional (default=16)
Number of epochs for training.
batch_sizeint, optional (default=8)
Size of the batch.
in_channelsint, optional (default=1)
Number of input channels.
individualbool, optional (default=False)
Whether to use individual models for each series.
criterionstr or callable, optional
Loss function to use.
criterion_kwargsdict, optional
Additional keyword arguments for the loss function.
optimizerstr or callable, optional
Optimizer to use.
optimizer_kwargsdict, optional
Additional keyword arguments for the optimizer.
lrfloat, optional (default=0.001)
Learning rate.
custom_dataset_traintorch.utils.data.Dataset, optional
Custom dataset for training.
custom_dataset_predtorch.utils.data.Dataset, optional
Custom dataset for prediction.
position_encodingbool, optional (default=True)
Whether to use positional encoding. Positional encoding helps the model understand the order of elements in the input sequence by adding unique positional information to each element.
temporal_encodingbool, optional (default=True)
Whether to use temporal encoding. Works only with DatetimeIndex and PeriodIndex, disabled otherwise.
temporal_encoding_typestr, optional (default=”linear”)
Type of temporal encoding to use, relevant only if temporal_encoding is True. - “linear”: Uses linear layer to encode temporal data. - “embed”: Uses embeddings layer with learnable weights. - “fixed-embed”: Uses embeddings layer with fixed sine-cosine values as weights.
d_modelint, optional (default=512)
Dimension of the model.
n_headsint, optional (default=8)
Number of attention heads.
d_ffint, optional (default=2048)
Dimension of the feedforward network model.
e_layersint, optional (default=3)
Number of encoder layers.
d_layersint, optional (default=2)
Number of decoder layers.
factorint, optional (default=5)
Factor for the attention mechanism.
dropoutfloat, optional (default=0.1)
Dropout rate.
activationstr, optional (default=”relu”)
Activation function to use. Defaults to relu and otherwise gelu.
freqstr, optional (default=”h”)
Frequency of the input data, relevant only if temporal_encoding is True.

Examples

>>> from sktime.forecasting.ltsf import LTSFTransformerForecaster
>>> from sktime.datasets import load_airline
>>> 
>>> y = load_airline ()
>>> 
>>> model = LTSFTransformerForecaster (10, 5, 5)
>>> model. fit (y, fh = [1, 2, 3, 4, 5 ]) LTSFTransformerForecaster(context_len=5, pred_len=5, seq_len=10)
>>> pred = model. predict ()