autogluon.timeseries 1.0.1b20240304__py3-none-any.whl → 1.4.1b20251210__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of autogluon.timeseries might be problematic. Click here for more details.
- autogluon/timeseries/configs/__init__.py +3 -2
- autogluon/timeseries/configs/hyperparameter_presets.py +62 -0
- autogluon/timeseries/configs/predictor_presets.py +84 -0
- autogluon/timeseries/dataset/ts_dataframe.py +339 -186
- autogluon/timeseries/learner.py +192 -60
- autogluon/timeseries/metrics/__init__.py +55 -11
- autogluon/timeseries/metrics/abstract.py +96 -25
- autogluon/timeseries/metrics/point.py +186 -39
- autogluon/timeseries/metrics/quantile.py +47 -20
- autogluon/timeseries/metrics/utils.py +6 -6
- autogluon/timeseries/models/__init__.py +13 -7
- autogluon/timeseries/models/abstract/__init__.py +2 -2
- autogluon/timeseries/models/abstract/abstract_timeseries_model.py +533 -273
- autogluon/timeseries/models/abstract/model_trial.py +10 -10
- autogluon/timeseries/models/abstract/tunable.py +189 -0
- autogluon/timeseries/models/autogluon_tabular/__init__.py +2 -0
- autogluon/timeseries/models/autogluon_tabular/mlforecast.py +369 -215
- autogluon/timeseries/models/autogluon_tabular/per_step.py +513 -0
- autogluon/timeseries/models/autogluon_tabular/transforms.py +67 -0
- autogluon/timeseries/models/autogluon_tabular/utils.py +3 -51
- autogluon/timeseries/models/chronos/__init__.py +4 -0
- autogluon/timeseries/models/chronos/chronos2.py +361 -0
- autogluon/timeseries/models/chronos/model.py +738 -0
- autogluon/timeseries/models/chronos/utils.py +369 -0
- autogluon/timeseries/models/ensemble/__init__.py +35 -2
- autogluon/timeseries/models/ensemble/{abstract_timeseries_ensemble.py → abstract.py} +50 -26
- autogluon/timeseries/models/ensemble/array_based/__init__.py +3 -0
- autogluon/timeseries/models/ensemble/array_based/abstract.py +236 -0
- autogluon/timeseries/models/ensemble/array_based/models.py +73 -0
- autogluon/timeseries/models/ensemble/array_based/regressor/__init__.py +12 -0
- autogluon/timeseries/models/ensemble/array_based/regressor/abstract.py +88 -0
- autogluon/timeseries/models/ensemble/array_based/regressor/linear_stacker.py +167 -0
- autogluon/timeseries/models/ensemble/array_based/regressor/per_quantile_tabular.py +94 -0
- autogluon/timeseries/models/ensemble/array_based/regressor/tabular.py +107 -0
- autogluon/timeseries/models/ensemble/ensemble_selection.py +167 -0
- autogluon/timeseries/models/ensemble/per_item_greedy.py +162 -0
- autogluon/timeseries/models/ensemble/weighted/__init__.py +8 -0
- autogluon/timeseries/models/ensemble/weighted/abstract.py +40 -0
- autogluon/timeseries/models/ensemble/weighted/basic.py +78 -0
- autogluon/timeseries/models/ensemble/weighted/greedy.py +57 -0
- autogluon/timeseries/models/gluonts/__init__.py +3 -1
- autogluon/timeseries/models/gluonts/abstract.py +583 -0
- autogluon/timeseries/models/gluonts/dataset.py +109 -0
- autogluon/timeseries/models/gluonts/{torch/models.py → models.py} +185 -44
- autogluon/timeseries/models/local/__init__.py +1 -10
- autogluon/timeseries/models/local/abstract_local_model.py +150 -97
- autogluon/timeseries/models/local/naive.py +31 -23
- autogluon/timeseries/models/local/npts.py +6 -2
- autogluon/timeseries/models/local/statsforecast.py +99 -112
- autogluon/timeseries/models/multi_window/multi_window_model.py +99 -40
- autogluon/timeseries/models/registry.py +64 -0
- autogluon/timeseries/models/toto/__init__.py +3 -0
- autogluon/timeseries/models/toto/_internal/__init__.py +9 -0
- autogluon/timeseries/models/toto/_internal/backbone/__init__.py +3 -0
- autogluon/timeseries/models/toto/_internal/backbone/attention.py +196 -0
- autogluon/timeseries/models/toto/_internal/backbone/backbone.py +262 -0
- autogluon/timeseries/models/toto/_internal/backbone/distribution.py +70 -0
- autogluon/timeseries/models/toto/_internal/backbone/kvcache.py +136 -0
- autogluon/timeseries/models/toto/_internal/backbone/rope.py +89 -0
- autogluon/timeseries/models/toto/_internal/backbone/rotary_embedding_torch.py +342 -0
- autogluon/timeseries/models/toto/_internal/backbone/scaler.py +305 -0
- autogluon/timeseries/models/toto/_internal/backbone/transformer.py +333 -0
- autogluon/timeseries/models/toto/_internal/dataset.py +165 -0
- autogluon/timeseries/models/toto/_internal/forecaster.py +423 -0
- autogluon/timeseries/models/toto/dataloader.py +108 -0
- autogluon/timeseries/models/toto/hf_pretrained_model.py +118 -0
- autogluon/timeseries/models/toto/model.py +236 -0
- autogluon/timeseries/predictor.py +826 -305
- autogluon/timeseries/regressor.py +253 -0
- autogluon/timeseries/splitter.py +10 -31
- autogluon/timeseries/trainer/__init__.py +2 -3
- autogluon/timeseries/trainer/ensemble_composer.py +439 -0
- autogluon/timeseries/trainer/model_set_builder.py +256 -0
- autogluon/timeseries/trainer/prediction_cache.py +149 -0
- autogluon/timeseries/trainer/trainer.py +1298 -0
- autogluon/timeseries/trainer/utils.py +17 -0
- autogluon/timeseries/transforms/__init__.py +2 -0
- autogluon/timeseries/transforms/covariate_scaler.py +164 -0
- autogluon/timeseries/transforms/target_scaler.py +149 -0
- autogluon/timeseries/utils/constants.py +10 -0
- autogluon/timeseries/utils/datetime/base.py +38 -20
- autogluon/timeseries/utils/datetime/lags.py +18 -16
- autogluon/timeseries/utils/datetime/seasonality.py +14 -14
- autogluon/timeseries/utils/datetime/time_features.py +17 -14
- autogluon/timeseries/utils/features.py +317 -53
- autogluon/timeseries/utils/forecast.py +31 -17
- autogluon/timeseries/utils/timer.py +173 -0
- autogluon/timeseries/utils/warning_filters.py +44 -6
- autogluon/timeseries/version.py +2 -1
- autogluon.timeseries-1.4.1b20251210-py3.11-nspkg.pth +1 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info}/METADATA +71 -47
- autogluon_timeseries-1.4.1b20251210.dist-info/RECORD +103 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info}/WHEEL +1 -1
- autogluon/timeseries/configs/presets_configs.py +0 -11
- autogluon/timeseries/evaluator.py +0 -6
- autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -170
- autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -550
- autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
- autogluon/timeseries/models/presets.py +0 -325
- autogluon/timeseries/trainer/abstract_trainer.py +0 -1144
- autogluon/timeseries/trainer/auto_trainer.py +0 -74
- autogluon.timeseries-1.0.1b20240304-py3.8-nspkg.pth +0 -1
- autogluon.timeseries-1.0.1b20240304.dist-info/RECORD +0 -58
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info/licenses}/LICENSE +0 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info/licenses}/NOTICE +0 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info}/namespace_packages.txt +0 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info}/top_level.txt +0 -0
- {autogluon.timeseries-1.0.1b20240304.dist-info → autogluon_timeseries-1.4.1b20251210.dist-info}/zip-safe +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
from .
|
|
1
|
+
from .hyperparameter_presets import get_hyperparameter_presets
|
|
2
|
+
from .predictor_presets import get_predictor_presets
|
|
2
3
|
|
|
3
|
-
__all__ = ["
|
|
4
|
+
__all__ = ["get_hyperparameter_presets", "get_predictor_presets"]
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def get_hyperparameter_presets() -> dict[str, dict[str, dict[str, Any] | list[dict[str, Any]]]]:
|
|
5
|
+
return {
|
|
6
|
+
"very_light": {
|
|
7
|
+
"Naive": {},
|
|
8
|
+
"SeasonalNaive": {},
|
|
9
|
+
"ETS": {},
|
|
10
|
+
"Theta": {},
|
|
11
|
+
"RecursiveTabular": {"max_num_samples": 100_000},
|
|
12
|
+
"DirectTabular": {"max_num_samples": 100_000},
|
|
13
|
+
},
|
|
14
|
+
"light": {
|
|
15
|
+
"Naive": {},
|
|
16
|
+
"SeasonalNaive": {},
|
|
17
|
+
"ETS": {},
|
|
18
|
+
"Theta": {},
|
|
19
|
+
"RecursiveTabular": {},
|
|
20
|
+
"DirectTabular": {},
|
|
21
|
+
"TemporalFusionTransformer": {},
|
|
22
|
+
"Chronos": {"model_path": "bolt_small"},
|
|
23
|
+
},
|
|
24
|
+
"light_inference": {
|
|
25
|
+
"SeasonalNaive": {},
|
|
26
|
+
"DirectTabular": {},
|
|
27
|
+
"RecursiveTabular": {},
|
|
28
|
+
"TemporalFusionTransformer": {},
|
|
29
|
+
"PatchTST": {},
|
|
30
|
+
},
|
|
31
|
+
"default": {
|
|
32
|
+
"SeasonalNaive": {},
|
|
33
|
+
"AutoETS": {},
|
|
34
|
+
"NPTS": {},
|
|
35
|
+
"DynamicOptimizedTheta": {},
|
|
36
|
+
"RecursiveTabular": {},
|
|
37
|
+
"DirectTabular": {},
|
|
38
|
+
"TemporalFusionTransformer": {},
|
|
39
|
+
"PatchTST": {},
|
|
40
|
+
"DeepAR": {},
|
|
41
|
+
"Chronos": [
|
|
42
|
+
{
|
|
43
|
+
"ag_args": {"name_suffix": "ZeroShot"},
|
|
44
|
+
"model_path": "bolt_base",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"ag_args": {"name_suffix": "FineTuned"},
|
|
48
|
+
"model_path": "bolt_small",
|
|
49
|
+
"fine_tune": True,
|
|
50
|
+
"target_scaler": "standard",
|
|
51
|
+
"covariate_regressor": {"model_name": "CAT", "model_hyperparameters": {"iterations": 1_000}},
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
"TiDE": {
|
|
55
|
+
"encoder_hidden_dim": 256,
|
|
56
|
+
"decoder_hidden_dim": 256,
|
|
57
|
+
"temporal_hidden_dim": 64,
|
|
58
|
+
"num_batches_per_epoch": 100,
|
|
59
|
+
"lr": 1e-4,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""Preset configurations for autogluon.timeseries Predictors"""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from . import get_hyperparameter_presets
|
|
6
|
+
|
|
7
|
+
TIMESERIES_PRESETS_ALIASES = dict(
|
|
8
|
+
chronos="chronos_small",
|
|
9
|
+
best="best_quality",
|
|
10
|
+
high="high_quality",
|
|
11
|
+
medium="medium_quality",
|
|
12
|
+
bq="best_quality",
|
|
13
|
+
hq="high_quality",
|
|
14
|
+
mq="medium_quality",
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_predictor_presets() -> dict[str, Any]:
|
|
19
|
+
hp_presets = get_hyperparameter_presets()
|
|
20
|
+
|
|
21
|
+
predictor_presets = dict(
|
|
22
|
+
best_quality={"hyperparameters": "default", "num_val_windows": 2},
|
|
23
|
+
high_quality={"hyperparameters": "default"},
|
|
24
|
+
medium_quality={"hyperparameters": "light"},
|
|
25
|
+
fast_training={"hyperparameters": "very_light"},
|
|
26
|
+
# Chronos-Bolt models
|
|
27
|
+
bolt_tiny={
|
|
28
|
+
"hyperparameters": {"Chronos": {"model_path": "bolt_tiny"}},
|
|
29
|
+
"skip_model_selection": True,
|
|
30
|
+
},
|
|
31
|
+
bolt_mini={
|
|
32
|
+
"hyperparameters": {"Chronos": {"model_path": "bolt_mini"}},
|
|
33
|
+
"skip_model_selection": True,
|
|
34
|
+
},
|
|
35
|
+
bolt_small={
|
|
36
|
+
"hyperparameters": {"Chronos": {"model_path": "bolt_small"}},
|
|
37
|
+
"skip_model_selection": True,
|
|
38
|
+
},
|
|
39
|
+
bolt_base={
|
|
40
|
+
"hyperparameters": {"Chronos": {"model_path": "bolt_base"}},
|
|
41
|
+
"skip_model_selection": True,
|
|
42
|
+
},
|
|
43
|
+
# Original Chronos models
|
|
44
|
+
chronos_tiny={
|
|
45
|
+
"hyperparameters": {"Chronos": {"model_path": "tiny"}},
|
|
46
|
+
"skip_model_selection": True,
|
|
47
|
+
},
|
|
48
|
+
chronos_mini={
|
|
49
|
+
"hyperparameters": {"Chronos": {"model_path": "mini"}},
|
|
50
|
+
"skip_model_selection": True,
|
|
51
|
+
},
|
|
52
|
+
chronos_small={
|
|
53
|
+
"hyperparameters": {"Chronos": {"model_path": "small"}},
|
|
54
|
+
"skip_model_selection": True,
|
|
55
|
+
},
|
|
56
|
+
chronos_base={
|
|
57
|
+
"hyperparameters": {"Chronos": {"model_path": "base"}},
|
|
58
|
+
"skip_model_selection": True,
|
|
59
|
+
},
|
|
60
|
+
chronos_large={
|
|
61
|
+
"hyperparameters": {"Chronos": {"model_path": "large", "batch_size": 8}},
|
|
62
|
+
"skip_model_selection": True,
|
|
63
|
+
},
|
|
64
|
+
chronos_ensemble={
|
|
65
|
+
"hyperparameters": {
|
|
66
|
+
"Chronos": {"model_path": "small"},
|
|
67
|
+
**hp_presets["light_inference"],
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
chronos_large_ensemble={
|
|
71
|
+
"hyperparameters": {
|
|
72
|
+
"Chronos": {"model_path": "large", "batch_size": 8},
|
|
73
|
+
**hp_presets["light_inference"],
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
# update with aliases
|
|
79
|
+
predictor_presets = {
|
|
80
|
+
**predictor_presets,
|
|
81
|
+
**{k: predictor_presets[v].copy() for k, v in TIMESERIES_PRESETS_ALIASES.items()},
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return predictor_presets
|