Back to models
Forecaster

SCINetForecaster

SCINet Forecaster.

Quickstart

python
from sktime.forecasting.scinet import SCINetForecaster

estimator = SCINetForecaster(seq_len, pred_len=None, *, num_epochs=16, batch_size=8, criterion=None, criterion_kwargs=None, optimizer=None, optimizer_kwargs=None, lr=0.001, custom_dataset_train=None, custom_dataset_pred=None, hid_size=1, num_stacks=1, num_levels=3, num_decoder_layer=1, concat_len=0, groups=1, kernel=5, dropout=0.5, single_step_output_One=0, positionalE=False, modified=True, RIN=False)

Parameters(23)

seq_lenint
Length of the input sequence. Ensure seq_len is divisible by 2^num_levels.
pred_lenint, optional
Length of prediction (forecast horizon). Required for pretraining if fh is not passed to pretrain(). If None, will be determined from fh during fit() or pretrain().
num_epochsint, default=16
Number of epochs to train the model.
batch_sizeint, default=8
Number of training examples in each batch.
criteriontorch.nn Loss Function, default=None
Loss function to be used for training. If not provided, a default such as torch.nn.MSELoss is often used.
criterion_kwargsdict, default=None
Keyword arguments to pass to the criterion (loss function).
optimizertorch.optim.Optimizer, default=None
Optimizer to be used for training. If not provided, a default such as torch.optim.Adam is commonly used.
optimizer_kwargsdict, default=None
Keyword arguments to pass to the optimizer.
lrfloat, default=0.001
Learning rate for the optimizer.
custom_dataset_trainDataset, default=None
A custom dataset to be used for training. If not provided, the default dataset structure is used.
custom_dataset_predDataset, default=None
A custom dataset to be used for prediction.
hid_sizeint, default=1
Size of the hidden layers in the model.
num_stacksint, default=1
Number of SCINet stacks to use in the model.
num_levelsint, default=3
Number of levels (depth) in each stack.
num_decoder_layerint, default=1
Number of layers in the decoder portion of the model.
concat_lenint, default=0
Length of input to be concatenated in the skip connection.
groupsint, default=1
Number of groups in convolution layers for grouped convolutions.
kernelint, default=5
Kernel size for convolution layers.
dropoutfloat, default=0.5
Dropout rate to apply in the network.
single_step_output_Oneint, default=0
Determines whether to output a single step (1) or multiple steps (0).
positionalEbool, default=False
Enables or disables the use of positional encoding.
modifiedbool, default=True
Indicates whether to use the modified version of the SCINet model.
RINbool, default=False
Flag to enable or disable the use of RevIN (Reversible Instance Normalization).

Examples

>>> from sktime.forecasting.scinet import SCINetForecaster
>>> from sktime.datasets import load_airline
>>> model = SCINetForecaster (seq_len = 8)
>>> y = load_airline ()
>>> model. fit (y, fh = [1, 2, 3 ]) SCINetForecaster(seq_len=8)
>>> y_pred = model. predict ()
>>> y_pred 1961-01 759.448425 1961-02 291.098541 1961-03 566.977295 Freq: M, Name: Number of airline passengers, dtype: float32

References

  1. [1 ] Minhao Liu*, Ailing Zeng, Muxi Chen, Zhijian Xu, Qiuxia Lai, Lingna Ma, Qiang Xu* SCINet: Time Series Modeling and Forecasting with Sample Convolution and Interaction [2 ] https://github.com/cure-lab/SCINet