Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/api/models/foundation/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@
members:
- Moirai

::: timecopilot.models.foundation.patchtst_fm
options:
members:
- PatchTSTFM

::: timecopilot.models.foundation.sundial
options:
members:
Expand Down
9 changes: 8 additions & 1 deletion docs/api/models/ml.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,11 @@
::: timecopilot.models.ml
options:
members:
- AutoLGBM
- AutoCatboost
- AutoElasticNet
- AutoLasso
- AutoLGBM
- AutoLinearRegression
- AutoRandomForest
- AutoRidge
- AutoXGBoost
3 changes: 3 additions & 0 deletions docs/api/models/neural.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@
::: timecopilot.models.neural
options:
members:
- AutoDeepAR
- AutoNBEATS
- AutoNHITS
- AutoPatchTST
- AutoTFT
1 change: 0 additions & 1 deletion docs/changelogs/v0.0.25.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
### Features


* **TimeGPT finetuning**: Finetuning is now supported for TimeGPT. You can adapt the pre-trained model to your data before forecasting via `TimeGPTFinetuningConfig`, with options for loss function and finetuning depth. See [#332](https://github.com/TimeCopilot/timecopilot/pull/332) and the [Finetuning Foundation Models](https://timecopilot.dev/examples/finetuning/) example for a full walkthrough.

```python
Expand Down
17 changes: 16 additions & 1 deletion docs/changelogs/v0.0.26.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
### Features

* **New ML models**: Added 7 new auto ML models powered by `mlforecast`'s hyperparameter optimization: `AutoLinearRegression`, `AutoXGBoost`, `AutoRidge`, `AutoLasso`, `AutoElasticNet`, `AutoRandomForest`, and `AutoCatboost`. All models support `quantiles` for probabilistic forecasts via conformal prediction and follow the same interface as the existing `AutoLGBM`.
* **New neural models**: Added 3 new auto neural models: `AutoNBEATS`, `AutoDeepAR`, and `AutoPatchTST`. All support `quantiles` for probabilistic forecasts trained with `MQLoss` and follow the same interface as the existing `AutoNHITS` and `AutoTFT`.

```python
import pandas as pd
from timecopilot.models.neural import AutoDeepAR, AutoNBEATS, AutoPatchTST

df = pd.read_csv(
"https://timecopilot.s3.amazonaws.com/public/data/air_passengers.csv",
parse_dates=["ds"],
)

model = AutoNBEATS()
fcst_df = model.forecast(df, h=12, quantiles=[0.1, 0.5, 0.9])
```

* **New ML models**: Added 7 new auto ML models: `AutoLinearRegression`, `AutoXGBoost`, `AutoRidge`, `AutoLasso`, `AutoElasticNet`, `AutoRandomForest`, and `AutoCatboost`. All models support `quantiles` for probabilistic forecasts via conformal prediction and follow the same interface as the existing `AutoLGBM`.

```python
import pandas as pd
Expand Down
11 changes: 11 additions & 0 deletions docs/model-hub.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ TimeCopilot provides a unified interface to state-of-the-art foundation models f
- [Chronos](api/models/foundation/models.md#timecopilot.models.foundation.chronos) ([arXiv:2403.07815](https://arxiv.org/abs/2403.07815))
- [FlowState](api/models/foundation/models.md#timecopilot.models.foundation.flowstate) ([arXiv:2508.05287](https://arxiv.org/abs/2508.05287))
- [Moirai](api/models/foundation/models.md#timecopilot.models.foundation.moirai) ([arXiv:2402.02592](https://arxiv.org/abs/2402.02592))
- [PatchTST-FM](api/models/foundation/models.md#timecopilot.models.foundation.patchtst_fm) ([arXiv:2602.06909](https://arxiv.org/abs/2602.06909))
- [Sundial](api/models/foundation/models.md#timecopilot.models.foundation.sundial) ([arXiv:2502.00816](https://arxiv.org/pdf/2502.00816))
- [TabPFN](api/models/foundation/models.md#timecopilot.models.foundation.tabpfn) ([arXiv:2501.02945](https://arxiv.org/abs/2501.02945))
- [TiRex](api/models/foundation/models.md#timecopilot.models.foundation.tirex) ([arXiv:2505.23719](https://arxiv.org/abs/2505.23719))
Expand Down Expand Up @@ -79,11 +80,21 @@ TimeCopilot integrates the popular Prophet model for time series forecasting, de

TimeCopilot provides access to automated machine learning models for time series forecasting. These models leverage gradient boosting and other ML techniques to automatically select features and optimize hyperparameters for your specific time series data.

- [AutoCatboost](api/models/ml.md#timecopilot.models.ml.AutoCatboost)
- [AutoElasticNet](api/models/ml.md#timecopilot.models.ml.AutoElasticNet)
- [AutoLasso](api/models/ml.md#timecopilot.models.ml.AutoLasso)
- [AutoLGBM](api/models/ml.md#timecopilot.models.ml.AutoLGBM)
- [AutoLinearRegression](api/models/ml.md#timecopilot.models.ml.AutoLinearRegression)
- [AutoRandomForest](api/models/ml.md#timecopilot.models.ml.AutoRandomForest)
- [AutoRidge](api/models/ml.md#timecopilot.models.ml.AutoRidge)
- [AutoXGBoost](api/models/ml.md#timecopilot.models.ml.AutoXGBoost)

## Neural Network Models

TimeCopilot integrates state-of-the-art neural network models for time series forecasting. These models leverage deep learning architectures specifically designed for temporal data, offering powerful capabilities for complex pattern recognition and long-range dependency modeling.

- [AutoDeepAR](api/models/neural.md#timecopilot.models.neural.AutoDeepAR)
- [AutoNBEATS](api/models/neural.md#timecopilot.models.neural.AutoNBEATS)
- [AutoNHITS](api/models/neural.md#timecopilot.models.neural.AutoNHITS)
- [AutoPatchTST](api/models/neural.md#timecopilot.models.neural.AutoPatchTST)
- [AutoTFT](api/models/neural.md#timecopilot.models.neural.AutoTFT)
28 changes: 27 additions & 1 deletion tests/models/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
AutoLinearRegression,
AutoXGBoost,
)
from timecopilot.models.neural import AutoNHITS, AutoTFT
from timecopilot.models.neural import (
AutoNBEATS,
AutoNHITS,
AutoPatchTST,
AutoTFT,
)
from timecopilot.models.prophet import Prophet
from timecopilot.models.stats import (
ADIDA,
Expand Down Expand Up @@ -65,6 +70,27 @@ def disable_mps_session(monkeypatch):
hidden_size=8,
),
),
AutoNBEATS(
num_samples=2,
config=dict(
max_steps=1,
val_check_steps=1,
input_size=12,
n_harmonics=1,
n_polynomials=1,
stack_types=["identity"],
),
),
AutoPatchTST(
num_samples=2,
config=dict(
max_steps=1,
val_check_steps=1,
input_size=12,
hidden_size=8,
n_heads=2,
),
),
AutoARIMA(),
SeasonalNaive(),
ZeroModel(),
Expand Down
20 changes: 18 additions & 2 deletions tests/models/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,14 @@ def test_correct_forecast_dates(model, freq, h):
"AutoRandomForest",
"AutoCatboost",
}
if model.alias in _ml_auto_aliases | {"AutoNHITS", "AutoTFT"}:
_neural_auto_aliases = {
"AutoNHITS",
"AutoTFT",
"AutoNBEATS",
"AutoDeepAR",
"AutoPatchTST",
}
if model.alias in _ml_auto_aliases | _neural_auto_aliases:
# These auto ML and neural models require a longer minimum series length
sizes_per_freq = {
freq: 1_000 for freq in ["10S", "10T", "15T", "5T", "H", "Q-DEC"]
Expand Down Expand Up @@ -230,7 +237,13 @@ def test_using_quantiles(model):
elif "moe" in model.alias.lower():
# MoE is a bit more lenient with the monotonicity condition
assert fcst_df[c1].le(fcst_df[c2]).mean() >= 0.5
elif model.alias in ["AutoNHITS", "AutoTFT"]:
elif model.alias in [
"AutoNHITS",
"AutoTFT",
"AutoNBEATS",
"AutoDeepAR",
"AutoPatchTST",
]:
# test config uses max_steps=1, so quantile ordering is not guaranteed
continue
else:
Expand All @@ -252,6 +265,9 @@ def test_using_level(model):
"AutoCatboost",
"AutoNHITS",
"AutoTFT",
"AutoNBEATS",
"AutoDeepAR",
"AutoPatchTST",
}
if model.alias in _level_unsupported:
# These models do not support levels yet
Expand Down
4 changes: 4 additions & 0 deletions timecopilot/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
AutoRidge,
AutoXGBoost,
)
from .neural import AutoDeepAR, AutoNBEATS, AutoPatchTST
from .stats import (
ADIDA,
IMAPA,
Expand All @@ -25,8 +26,11 @@
__all__ = [
"ADIDA",
"AutoCatboost",
"AutoDeepAR",
"AutoElasticNet",
"IMAPA",
"AutoNBEATS",
"AutoPatchTST",
"AutoARIMA",
"AutoCES",
"AutoETS",
Expand Down
Loading
Loading