title: MOIRAI readme
license: apache-2.0
Moirai-1.0-R-Small snapshot of commit.
A snapshot of the last Moirai-1.0-R-Small weights released under permissive license, hosted by sktime. For use with the sktime Moirai interface to ensure permissive license throughout the stack
Moirai, the Masked Encoder-based Universal Time Series Forecasting Transformer is a Large Time Series Model pre-trained on LOTSA data. For more details on the Moirai architecture, training, and results, please refer to the paper.
Fig. 1: Overall architecture of Moirai. Visualized is a 3-variate time series, where variates 0 and 1 are target variables (i.e. to be forecasted, and variate 2 is a dynamic covariate (values in forecast horizon known). Based on a patch size of 64, each variate is patchified into 3 tokens. The patch embeddings along with sequence and variate id are fed into the Transformer. The shaded patches represent the forecast horizon to be forecasted, whose corresponding output representations are mapped into the mixture distribution parameters.
Example
from sktime.datasets import load_tecator
from sktime.forecasting.moirai_forecaster import MOIRAIForecaster
y, _ = load_tecator(return_X_y=True, return_type="pd-multiindex")
moirai_forecaster = MOIRAIForecaster(
checkpoint_path=f"sktime/moirai-1.0-R-small",
broadcasting=False
)
moirai_forecaster.fit(y)
forecast = moirai_forecaster.predict(fh=range(1, 16))
Moirai weights hosted under sktime
# Model | # Parameters |
---|---|
Moirai-1.0-R-Small | 14m |
Moirai-1.0-R-Base | 91m |
Moirai-1.0-R-Large | 311m |
Original Weights present at Salesforce collection.
Citation
@article{woo2024unified,
title={Unified Training of Universal Time Series Forecasting Transformers},
author={Woo, Gerald and Liu, Chenghao and Kumar, Akshat and Xiong, Caiming and Savarese, Silvio and Sahoo, Doyen},
journal={arXiv preprint arXiv:2402.02592},
year={2024}
}