The easiest way to run and scale time-series machine learning in the Cloud.
Project description
functime is a powerful Python library for production-ready AutoML forecasting and temporal embeddings.
functime also comes with time-series preprocessing (box-cox, differencing etc), cross-validation splitters (expanding and sliding window), and forecast metrics (MASE, SMAPE etc). All optimized as lazy Polars transforms.
Want to use functime for seamless time-series predictive analytics across your data team?
Looking for production-grade time-series AutoML in a serverless Cloud deployment?
Shoot Chris a message on LinkedIn to learn more about functime
Cloud.
Highlights
- Fast: Forecast 100,000 time series in seconds on your laptop
- Efficient: Embarrassingly parallel feature engineering for time-series using
Polars
- Battle-tested: Machine learning algorithms that deliver real business impact and win competitions
- Exogenous features: supported by every forecaster
- Backtesting with expanding window and sliding window splitters
- AutoML: Automated lags and hyperparameter tuning using
FLAML
- Censored model: for zero-inflated and thresholding forecasts
Getting Started
Install functime
via the pip package manager.
pip install functime
Forecasting
import polars as pl
from functime.cross_validation import train_test_split
from functime.forecasting import lightgbm
from functime.metrics import mase
# Load example data
y = pl.read_parquet("https://github.com/descendant-ai/functime/raw/main/data/commodities.parquet")
entity_col, time_col = y.columns[:2]
# Time series split
y_train, y_test = y.pipe(train_test_split(test_size=3))
# Fit-predict
model = lightgbm(freq="1mo", lags=24, max_horizons=3, strategy="ensemble")
model.fit(y=y_train)
y_pred = model.predict(fh=3)
# functime ❤️ functional design
# fit-predict in a single line
y_pred = lightgbm(freq="1mo", lags=24)(y=y_train, fh=3)
# Score forecasts in parallel
scores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)
License
functime
is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.