| | --- |
| | license: apache-2.0 |
| | library_name: ts-arena |
| | tags: |
| | - time-series |
| | - forecasting |
| | - foundation-model |
| | - chronos |
| | - chronos-bolt |
| | - ts-arena |
| | pipeline_tag: time-series-forecasting |
| | --- |
| | |
| | # chronos_bolt_tiny_9m_forecasting |
| |
|
| | TS Arena wrapper for Amazon Chronos BOLT-Tiny time series forecasting model. |
| |
|
| | ## Model Description |
| |
|
| | Chronos-Bolt is an optimized version of the Chronos family, designed for faster inference while maintaining accuracy. |
| | It uses an optimized T5 architecture with improved tokenization and reduced computational overhead. |
| |
|
| | | Attribute | Value | |
| | |-----------|-------| |
| | | **Parameters** | 9M | |
| | | **Architecture** | T5 Optimized (Bolt) | |
| | | **Original Repo** | [amazon/chronos-bolt-tiny](https://huggingface.co/amazon/chronos-bolt-tiny) | |
| | | **Paper** | [Chronos: Learning the Language of Time Series](https://arxiv.org/abs/2403.07815) | |
| | | **Task** | Time Series Forecasting | |
| |
|
| | ## Usage with TS Arena |
| |
|
| | ```python |
| | import ts_arena |
| | |
| | # Load model |
| | model = ts_arena.load_model("chronos-bolt-tiny") |
| | |
| | # Generate forecasts |
| | import numpy as np |
| | context = np.random.randn(96) # 96 timesteps of history |
| | output = model.predict(context, prediction_length=24, num_samples=20) |
| | |
| | # Access results |
| | print(output.predictions.shape) # Point forecasts (median) |
| | print(output.quantiles[0.5].shape) # Median forecast |
| | print(output.quantiles[0.1].shape) # 10th percentile |
| | print(output.quantiles[0.9].shape) # 90th percentile |
| | ``` |
| |
|
| | ## Direct Usage with Chronos |
| |
|
| | ```python |
| | from chronos import ChronosPipeline |
| | import torch |
| | |
| | pipeline = ChronosPipeline.from_pretrained( |
| | "amazon/chronos-bolt-tiny", |
| | device_map="cuda", |
| | torch_dtype=torch.bfloat16, |
| | ) |
| | |
| | context = torch.randn(1, 96) # (batch, time) |
| | forecast = pipeline.predict(context, prediction_length=24, num_samples=20) |
| | ``` |
| |
|
| | ## Evaluation Results |
| |
|
| | ### ETTh1 Dataset (context=96, horizon=96) |
| |
|
| | | Metric | Value | |
| | |--------|-------| |
| | | MSE | 4.37 | |
| | | MAE | 1.66 | |
| | | RMSE | 2.09 | |
| |
|
| | ## Features |
| |
|
| | - **Zero-shot forecasting**: No training required |
| | - **Probabilistic forecasts**: Returns samples and quantiles |
| | - **Variable horizons**: Supports different prediction lengths |
| | - **Multivariate support**: Processes each channel independently |
| |
|
| | ## Limitations |
| |
|
| | - Univariate model (multivariate handled channel-by-channel) |
| | - No exogenous variable support |
| | - Recommended max prediction length: 64 |
| |
|
| | ## Citation |
| |
|
| | ```bibtex |
| | @article{ansari2024chronos, |
| | title={Chronos: Learning the Language of Time Series}, |
| | author={Ansari, Abdul Fatir and Stella, Lorenzo and Turkmen, Caner and Zhang, Xiyuan and others}, |
| | journal={arXiv preprint arXiv:2403.07815}, |
| | year={2024} |
| | } |
| | ``` |
| |
|
| | ## License |
| |
|
| | Apache-2.0 (following the original Chronos license) |
| |
|
| | ## Links |
| |
|
| | - [TS Arena GitHub](https://github.com/your-username/ts_arena) |
| | - [Original Chronos](https://github.com/amazon-science/chronos-forecasting) |
| | - [Chronos Paper](https://arxiv.org/abs/2403.07815) |
| |
|