Back to models
Forecaster

PyKANForecaster

PyKANForecaster uses Kolmogorov Arnold Network [1] to forecast time series data.

This forecaster uses the pykan library to create a KAN model to forecast time series data. The model is trained on the training data and then used to forecast the future values of the time series. Note This forecaster is experimental and the used library for implementing the KANs may be exchanged in the future to a more stable and efficient library.

Quickstart

python
from sktime.forecasting.pykan import PyKANForecaster

estimator = PyKANForecaster(hidden_layers=(1, 1), input_layer_size=2, grids=None, model_params=None, fit_params=None, val_size=0.5, device='cpu')

Parameters(8)

hidden_layerstuple, optional (default=(1, 1))
The number of hidden layers in the network.
input_layer_sizeint, optional (default=2)
The size of the input layer.
kint, optional (default=3)
The number of nearest neighbors to consider.
gridsnp.array, optional (default=np.array([2, 3]))
The grid sizes to use in the model.
model_paramsdict, optional (default={“k”: 2})
The parameters to pass to the model. See pykan documentation for more details.
fit_paramsdict, optional (default={“steps”: 1})
The parameters to pass to the fit method. See pykan documentation for more details.
val_sizefloat, optional (default=0.5)
The size of the validation set to use in the training.
devicestr, optional (default=”cpu”)
The device to use for training the model.

References

[1]

Liu, Ziming, et al. “KAN: Kolmogorov-Arnold Networks.” arXiv preprint arXiv:2404.19756 (2024).