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 ()