AutoGluon-TimeSeries
AutoGluon-TimeSeries is a module within the AutoGluon automated machine learning library, specifically designed for robust and accurate time series forecasting. It enables users to train state-of-the-art forecasting models with minimal code, leveraging various algorithms and ensemble methods. The library is actively maintained with frequent major and minor releases, providing continuous improvements in performance and features. The current version is 1.5.0.
Warnings
- breaking Python version support changes significantly across major/minor releases. AutoGluon 1.2.0 dropped support for Python 3.8 and added 3.12. The current version (1.5.0) requires Python >=3.10 and <3.14.
- gotcha Models trained with one version of AutoGluon are often not compatible with other versions (especially across major/minor releases). Attempting to load models saved with a different AutoGluon version can lead to errors or unexpected behavior.
- gotcha AutoGluon's `fit` method, especially with default `presets` or large datasets, can be very resource-intensive (CPU, RAM, GPU if enabled). Users may experience long training times or out-of-memory errors.
Install
-
pip install autogluon.timeseries
Imports
- TimeSeriesPredictor
from autogluon.timeseries import TimeSeriesPredictor
- TimeSeriesDataFrame
from autogluon.timeseries import TimeSeriesDataFrame
Quickstart
import pandas as pd
from autogluon.timeseries import TimeSeriesPredictor, TimeSeriesDataFrame
# Create dummy data for demonstration
data = {
"item_id": ["A", "A", "A", "B", "B", "B"],
"timestamp": pd.to_datetime(["2023-01-01", "2023-01-02", "2023-01-03",
"2023-01-01", "2023-01-02", "2023-01-03"]),
"target": [10, 12, 15, 20, 22, 25],
}
df = pd.DataFrame(data)
# Convert to TimeSeriesDataFrame format
train_data = TimeSeriesDataFrame(df)
# Initialize and train the predictor
predictor = TimeSeriesPredictor(
prediction_length=2, # Forecast 2 future time steps
target="target", # Column to forecast
eval_metric="MASE" # Evaluation metric
)
predictor.fit(train_data, presets="fast_training") # Use a fast preset for quick demo
# Make predictions
predictions = predictor.predict(train_data)
print(predictions.head())