Skip to main content

A Nixtla integration for Yohou

Project description

Yohou-Nixtla

Python Version License PyPI Version Conda Version codecov

What is Yohou-Nixtla?

Yohou-Nixtla brings the power of Nixtla's forecasting ecosystem to Yohou, providing Yohou-compatible wrappers for statistical, machine learning, and deep learning time series models.

This integration enables you to use Nixtla's high-performance forecasters (StatsForecast, NeuralForecast) within Yohou's unified API for time series forecasting. All models work seamlessly with Yohou's features: polars DataFrames, panel data support, cross-validation, and hyperparameter search via GridSearchCV/RandomizedSearchCV.

What are the features of Yohou-Nixtla?

  • Statistical Models: AutoARIMA, AutoETS, AutoTheta, ARIMA, Holt-Winters, Naive, and more from StatsForecast, providing fast, production-ready statistical forecasters.
  • Neural Models: NBEATS, NHITS, MLP, PatchTST, TimesNet from NeuralForecast, offering state-of-the-art deep learning architectures.
  • Panel Data: Native support for multiple time series with __ column naming convention (e.g., sales__store_1, sales__store_2).
  • Yohou Compatible: Full fit/predict, get_params/set_params, clone compatibility. Works with GridSearchCV, pipelines, and the Yohou ecosystem.
  • Polars Native: All data handling uses polars DataFrames for high-performance time series operations.

Note: Nixtla's MLForecast is not wrapped as Yohou already provides PointReductionForecaster, which turns any scikit-learn regressor (Ridge, LightGBM, XGBoost, …) into a recursive multi-step forecaster with full support for feature transformers, target transformers, and panel data.

How to install Yohou-Nixtla?

Install the Yohou-Nixtla package using pip:

pip install yohou_nixtla

or using uv:

uv pip install yohou_nixtla

or using conda:

conda install -c conda-forge yohou_nixtla

or using mamba:

mamba install -c conda-forge yohou_nixtla

or alternatively, add yohou_nixtla to your requirements.txt or pyproject.toml file.

How to get started with Yohou-Nixtla?

1. Fit a Statistical Forecaster

Use AutoARIMA for automatic ARIMA model selection:

import polars as pl
from yohou_nixtla import AutoARIMAForecaster

# Load your time series data (must have a "time" column)
y = pl.DataFrame({
    "time": pl.datetime_range(start="2020-01-01", end="2020-12-31", interval="1d", eager=True),
    "sales": [100 + i * 0.5 + (i % 7) * 10 for i in range(366)],
})

# Fit and predict
forecaster = AutoARIMAForecaster(season_length=7)
forecaster.fit(y, forecasting_horizon=14)
y_pred = forecaster.predict()

2. Train Deep Learning Models

Neural models for complex patterns:

from yohou_nixtla import NHITSForecaster

forecaster = NHITSForecaster(input_size=30, max_steps=100)
forecaster.fit(y, forecasting_horizon=14)
y_pred = forecaster.predict()

3. Panel Data Forecasting

Forecast multiple time series simultaneously:

# Panel data with __ separator
y_panel = pl.DataFrame({
    "time": pl.datetime_range(start="2020-01-01", end="2020-12-31", interval="1d", eager=True),
    "sales__store_1": [...],
    "sales__store_2": [...],
})

forecaster = AutoARIMAForecaster(season_length=7)
forecaster.fit(y_panel, forecasting_horizon=14)
y_pred = forecaster.predict()  # Predictions for all stores

How do I use Yohou-Nixtla?

Full documentation is available at https://yohou-nixtla.readthedocs.io/.

Interactive examples are available in the examples/ directory:

Can I contribute?

We welcome contributions, feedback, and questions:

If you are interested in becoming a maintainer or taking a more active role, please reach out to Guillaume Tauzin on GitHub Discussions.

Where can I learn more?

Here are the main Yohou-Nixtla resources:

For questions and discussions, you can also open a discussion.

License

This project is licensed under the terms of the Apache-2.0 License.

Made by stateful-y

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

yohou_nixtla-0.1.0a1.tar.gz (100.7 kB view details)

Uploaded Source

Built Distribution

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

yohou_nixtla-0.1.0a1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file yohou_nixtla-0.1.0a1.tar.gz.

File metadata

  • Download URL: yohou_nixtla-0.1.0a1.tar.gz
  • Upload date:
  • Size: 100.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for yohou_nixtla-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 fc83f043cd6bf1d0ce29d4d76ad2cc12d163633771b6747b691351101f3ece73
MD5 c2efa2c6d2504fcf3a0e10d91c1db8bc
BLAKE2b-256 25d31270a217fbcc59136bb4914c6b2f80e934690165cbc5a3aaad092287dfcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for yohou_nixtla-0.1.0a1.tar.gz:

Publisher: publish-release.yml on stateful-y/yohou-nixtla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yohou_nixtla-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: yohou_nixtla-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for yohou_nixtla-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 f7c24e324fe40a9daac40e2c1001d8e45e245cfd7858ab74244d93342257b4af
MD5 09aece39e6f9102bdfbb35685f699331
BLAKE2b-256 851f354fb1b9383007e821ed6eb7a8b837f687f769dd905bbb133aa3b3f2b753

See more details on using hashes here.

Provenance

The following attestation bundles were made for yohou_nixtla-0.1.0a1-py3-none-any.whl:

Publisher: publish-release.yml on stateful-y/yohou-nixtla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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