Skip to main content

A scikit-learn-like interface for Moirai time series forecasting using native quantile outputs

Project description

moirai_sklearn

PyPI version Tests License

A scikit-learn-like interface for Moirai time series forecasting.

Uses the native quantile predictions from Moirai (p10, p20, ..., p90) to compute distribution statistics directly - no artificial binning needed.

Installation

pip install moirai_sklearn

Or from source:

git clone https://github.com/guyko81/moirai_sklearn.git
cd moirai_sklearn
pip install -e .

Quick Start

from moirai_sklearn import MoiraiForecaster
import numpy as np

ts = np.sin(np.linspace(0, 10, 100)) + np.random.randn(100) * 0.1

model = MoiraiForecaster()
predictions = model.predict(ts, horizon=30)
intervals = model.predict_interval(ts, horizon=30, confidence=0.8)

Methods

Method Description
predict(data, horizon) Point predictions (median)
predict_mean(data, horizon) Mean estimated from quantiles
predict_median(data, horizon) Median (p50) directly
predict_mode(data, horizon) Mode from quantile density
predict_quantile(data, horizon, q) Any quantile(s) via interpolation
predict_interval(data, horizon, confidence) Prediction intervals
predict_std(data, horizon) Std estimated from IQR
predict_all(data, horizon) DataFrame with everything

Input Formats

# NumPy array
model.predict(np.array([1, 2, 3, 4, 5]), horizon=10)

# Pandas Series
model.predict(pd.Series([1, 2, 3, 4, 5]), horizon=10)

# Pandas DataFrame (single column)
model.predict(pd.DataFrame({'value': [1, 2, 3, 4, 5]}), horizon=10)

Models

  • Salesforce/moirai-2.0-R-small (default)
  • Salesforce/moirai-2.0-R-base
  • Salesforce/moirai-2.0-R-large

Features

Clean API: Simple, intuitive scikit-learn-style interface
📊 Rich Statistics: Mean, median, mode, quantiles, intervals, and standard deviation
🎯 Native Quantiles: Uses Moirai's built-in quantile predictions (no binning)
🔌 Flexible Input: Supports NumPy arrays, Pandas Series, and DataFrames
Efficient: Smart model caching for repeated predictions

Examples

Check out the examples/basic_usage.py file for more detailed examples including:

  • Simple forecasting
  • Prediction intervals
  • Multiple quantiles
  • Pandas DataFrame inputs
  • Visualization

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Citation

If you use this package in your research, please cite the original Moirai paper:

@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}
}

License

Apache 2.0 - See LICENSE file for details.

Acknowledgments

This package is a wrapper around uni2ts, the official implementation of Moirai by Salesforce AI Research.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moirai_sklearn-0.2.0.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moirai_sklearn-0.2.0-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file moirai_sklearn-0.2.0.tar.gz.

File metadata

  • Download URL: moirai_sklearn-0.2.0.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for moirai_sklearn-0.2.0.tar.gz
Algorithm Hash digest
SHA256 988b3737a199df9d1bbd6343b724c80cd10fc7401b9e1defaec58aa178bcbdeb
MD5 ee380b0679d28899704bf6a3660180aa
BLAKE2b-256 1d04a32ec642f42fb1aa52d5f5e8a5f8c6813f44855e6ad5248a037e802de97f

See more details on using hashes here.

File details

Details for the file moirai_sklearn-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: moirai_sklearn-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for moirai_sklearn-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d46a6d0f7e815ad46674edfe67be496d5acf07b9fbe36a1582e208286f2c3da7
MD5 776ecb4bd75205c17751810acf1d9e52
BLAKE2b-256 7ffa4ef62fc475cded3aa14897c73a5375ae9b88af5a74cc9615b1e4071722a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page