autogluon.timeseries 1.1.1b20240603__tar.gz → 1.1.1b20240604__tar.gz
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-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/PKG-INFO +1 -1
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/setup.py +1 -1
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/__init__.py +2 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/gluonts/__init__.py +2 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/gluonts/torch/models.py +91 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/presets.py +3 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/predictor.py +7 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/version.py +1 -1
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/PKG-INFO +1 -1
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/requires.txt +4 -4
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/setup.cfg +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/configs/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/configs/presets_configs.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/dataset/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/dataset/ts_dataframe.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/evaluator.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/learner.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/metrics/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/metrics/abstract.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/metrics/point.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/metrics/quantile.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/metrics/utils.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/abstract/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/abstract/abstract_timeseries_model.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/abstract/model_trial.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/autogluon_tabular/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/autogluon_tabular/mlforecast.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/autogluon_tabular/utils.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/chronos/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/chronos/model.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/chronos/pipeline.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/chronos/utils.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/ensemble/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/local/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/local/abstract_local_model.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/local/naive.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/local/npts.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/local/statsforecast.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/multi_window/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/models/multi_window/multi_window_model.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/splitter.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/trainer/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/trainer/abstract_trainer.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/trainer/auto_trainer.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/datetime/__init__.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/datetime/base.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/datetime/lags.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/datetime/seasonality.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/datetime/time_features.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/features.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/forecast.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon/timeseries/utils/warning_filters.py +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/SOURCES.txt +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/dependency_links.txt +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/namespace_packages.txt +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/top_level.txt +0 -0
- {autogluon.timeseries-1.1.1b20240603 → autogluon.timeseries-1.1.1b20240604}/src/autogluon.timeseries.egg-info/zip-safe +0 -0
|
@@ -30,7 +30,7 @@ install_requires = [
|
|
|
30
30
|
"pytorch_lightning", # version range defined in `core/_setup_utils.py`
|
|
31
31
|
"transformers[sentencepiece]", # version range defined in `core/_setup_utils.py`
|
|
32
32
|
"accelerate", # version range defined in `core/_setup_utils.py`
|
|
33
|
-
"gluonts
|
|
33
|
+
"gluonts==0.15.1",
|
|
34
34
|
"networkx", # version range defined in `core/_setup_utils.py`
|
|
35
35
|
# TODO: update statsforecast to v1.5.0 - resolve antlr4-python3-runtime dependency clash with multimodal
|
|
36
36
|
"statsforecast>=1.4.0,<1.5",
|
|
@@ -6,6 +6,7 @@ from .gluonts import (
|
|
|
6
6
|
PatchTSTModel,
|
|
7
7
|
SimpleFeedForwardModel,
|
|
8
8
|
TemporalFusionTransformerModel,
|
|
9
|
+
TiDEModel,
|
|
9
10
|
WaveNetModel,
|
|
10
11
|
)
|
|
11
12
|
from .local import (
|
|
@@ -55,6 +56,7 @@ __all__ = [
|
|
|
55
56
|
"SimpleFeedForwardModel",
|
|
56
57
|
"TemporalFusionTransformerModel",
|
|
57
58
|
"ThetaModel",
|
|
59
|
+
"TiDEModel",
|
|
58
60
|
"WaveNetModel",
|
|
59
61
|
"ZeroModel",
|
|
60
62
|
]
|
|
@@ -4,6 +4,7 @@ from .torch.models import (
|
|
|
4
4
|
PatchTSTModel,
|
|
5
5
|
SimpleFeedForwardModel,
|
|
6
6
|
TemporalFusionTransformerModel,
|
|
7
|
+
TiDEModel,
|
|
7
8
|
WaveNetModel,
|
|
8
9
|
)
|
|
9
10
|
|
|
@@ -13,5 +14,6 @@ __all__ = [
|
|
|
13
14
|
"PatchTSTModel",
|
|
14
15
|
"SimpleFeedForwardModel",
|
|
15
16
|
"TemporalFusionTransformerModel",
|
|
17
|
+
"TiDEModel",
|
|
16
18
|
"WaveNetModel",
|
|
17
19
|
]
|
|
@@ -424,3 +424,94 @@ class WaveNetModel(AbstractGluonTSModel):
|
|
|
424
424
|
init_kwargs.setdefault("time_features", get_time_features_for_frequency(self.freq))
|
|
425
425
|
init_kwargs.setdefault("num_parallel_samples", self.default_num_samples)
|
|
426
426
|
return init_kwargs
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
class TiDEModel(AbstractGluonTSModel):
|
|
430
|
+
"""Time series dense encoder model from [Das2023]_.
|
|
431
|
+
|
|
432
|
+
Based on `gluonts.torch.model.tide.TiDEEstimator <https://ts.gluon.ai/stable/api/gluonts/gluonts.torch.model.tide.html>`_.
|
|
433
|
+
See GluonTS documentation for additional hyperparameters.
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
References
|
|
437
|
+
----------
|
|
438
|
+
.. [Das2023] Das, Abhimanyu, et al.
|
|
439
|
+
"Long-term Forecasting with TiDE: Time-series Dense Encoder."
|
|
440
|
+
Transactions of Machine Learning Research. 2023.
|
|
441
|
+
|
|
442
|
+
Other Parameters
|
|
443
|
+
----------------
|
|
444
|
+
context_length : int, default = max(64, 2 * prediction_length)
|
|
445
|
+
Number of past values used for prediction.
|
|
446
|
+
disable_static_features : bool, default = False
|
|
447
|
+
If True, static features won't be used by the model even if they are present in the dataset.
|
|
448
|
+
If False, static features will be used by the model if they are present in the dataset.
|
|
449
|
+
disable_known_covariates : bool, default = False
|
|
450
|
+
If True, known covariates won't be used by the model even if they are present in the dataset.
|
|
451
|
+
If False, known covariates will be used by the model if they are present in the dataset.
|
|
452
|
+
disable_past_covariates : bool, default = False
|
|
453
|
+
If True, past covariates won't be used by the model even if they are present in the dataset.
|
|
454
|
+
If False, past covariates will be used by the model if they are present in the dataset.
|
|
455
|
+
feat_proj_hidden_dim : int, default = 4
|
|
456
|
+
Size of the feature projection layer.
|
|
457
|
+
encoder_hidden_dim : int, default = 4
|
|
458
|
+
Size of the dense encoder layer.
|
|
459
|
+
decoder_hidden_dim : int, default = 4
|
|
460
|
+
Size of the dense decoder layer.
|
|
461
|
+
temporal_hidden_dim : int, default = 4
|
|
462
|
+
Size of the temporal decoder layer.
|
|
463
|
+
distr_hidden_dim : int, default = 4
|
|
464
|
+
Size of the distribution projection layer.
|
|
465
|
+
num_layers_encoder : int, default = 1
|
|
466
|
+
Number of layers in dense encoder.
|
|
467
|
+
num_layers_decoder : int, default = 1
|
|
468
|
+
Number of layers in dense decoder.
|
|
469
|
+
decoder_output_dim : int, default = 4
|
|
470
|
+
Output size of the dense decoder.
|
|
471
|
+
dropout_rate : float, default = 0.3
|
|
472
|
+
Dropout regularization parameter.
|
|
473
|
+
num_feat_dynamic_proj : int, default = 2
|
|
474
|
+
Output size of feature projection layer.
|
|
475
|
+
embedding_dimension : int, default = [16] * num_feat_static_cat
|
|
476
|
+
Dimension of the embeddings for categorical features
|
|
477
|
+
layer_norm : bool, default = False
|
|
478
|
+
Should layer normalization be enabled?
|
|
479
|
+
scaling : {"mean", "std", None}, default = "mean"
|
|
480
|
+
Scaling applied to the inputs. One of ``"mean"`` (mean absolute scaling), ``"std"`` (standardization), ``None`` (no scaling).
|
|
481
|
+
max_epochs : int, default = 100
|
|
482
|
+
Number of epochs the model will be trained for
|
|
483
|
+
batch_size : int, default = 64
|
|
484
|
+
Size of batches used during training
|
|
485
|
+
predict_batch_size : int, default = 500
|
|
486
|
+
Size of batches used during prediction.
|
|
487
|
+
num_batches_per_epoch : int, default = 50
|
|
488
|
+
Number of batches processed every epoch
|
|
489
|
+
lr : float, default = 1e-3,
|
|
490
|
+
Learning rate used during training
|
|
491
|
+
trainer_kwargs : dict, optional
|
|
492
|
+
Optional keyword arguments passed to ``lightning.Trainer``.
|
|
493
|
+
early_stopping_patience : int or None, default = 20
|
|
494
|
+
Early stop training if the validation loss doesn't improve for this many epochs.
|
|
495
|
+
keep_lightning_logs : bool, default = False
|
|
496
|
+
If True, ``lightning_logs`` directory will NOT be removed after the model finished training.
|
|
497
|
+
"""
|
|
498
|
+
|
|
499
|
+
supports_known_covariates = True
|
|
500
|
+
supports_static_features = True
|
|
501
|
+
|
|
502
|
+
@property
|
|
503
|
+
def default_context_length(self) -> int:
|
|
504
|
+
return min(512, max(64, 2 * self.prediction_length))
|
|
505
|
+
|
|
506
|
+
def _get_estimator_class(self) -> Type[GluonTSEstimator]:
|
|
507
|
+
from gluonts.torch.model.tide import TiDEEstimator
|
|
508
|
+
|
|
509
|
+
return TiDEEstimator
|
|
510
|
+
|
|
511
|
+
def _get_estimator_init_args(self) -> Dict[str, Any]:
|
|
512
|
+
init_kwargs = super()._get_estimator_init_args()
|
|
513
|
+
init_kwargs["num_feat_static_cat"] = self.num_feat_static_cat
|
|
514
|
+
init_kwargs["num_feat_static_real"] = self.num_feat_static_real
|
|
515
|
+
init_kwargs["cardinality"] = self.feat_static_cat_cardinality
|
|
516
|
+
init_kwargs["num_feat_dynamic_real"] = self.num_feat_dynamic_real
|
|
517
|
+
return init_kwargs
|
|
@@ -31,6 +31,7 @@ from . import (
|
|
|
31
31
|
SimpleFeedForwardModel,
|
|
32
32
|
TemporalFusionTransformerModel,
|
|
33
33
|
ThetaModel,
|
|
34
|
+
TiDEModel,
|
|
34
35
|
WaveNetModel,
|
|
35
36
|
ZeroModel,
|
|
36
37
|
)
|
|
@@ -51,6 +52,7 @@ MODEL_TYPES = dict(
|
|
|
51
52
|
DLinear=DLinearModel,
|
|
52
53
|
PatchTST=PatchTSTModel,
|
|
53
54
|
TemporalFusionTransformer=TemporalFusionTransformerModel,
|
|
55
|
+
TiDE=TiDEModel,
|
|
54
56
|
WaveNet=WaveNetModel,
|
|
55
57
|
RecursiveTabular=RecursiveTabularModel,
|
|
56
58
|
DirectTabular=DirectTabularModel,
|
|
@@ -93,6 +95,7 @@ DEFAULT_MODEL_PRIORITY = dict(
|
|
|
93
95
|
# Models that can early stop are trained at the end
|
|
94
96
|
TemporalFusionTransformer=45,
|
|
95
97
|
DeepAR=40,
|
|
98
|
+
TiDE=30,
|
|
96
99
|
PatchTST=30,
|
|
97
100
|
# Models below are not included in any presets
|
|
98
101
|
WaveNet=25,
|
|
@@ -1068,6 +1068,13 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
|
|
|
1068
1068
|
def load(cls, path: Union[str, Path], require_version_match: bool = True) -> "TimeSeriesPredictor":
|
|
1069
1069
|
"""Load an existing ``TimeSeriesPredictor`` from given ``path``.
|
|
1070
1070
|
|
|
1071
|
+
.. warning::
|
|
1072
|
+
|
|
1073
|
+
:meth:`autogluon.timeseries.TimeSeriesPredictor.load` uses `pickle` module implicitly, which is known to
|
|
1074
|
+
be unsecure. It is possible to construct malicious pickle data which will execute arbitrary code during
|
|
1075
|
+
unpickling. Never load data that could have come from an untrusted source, or that could have been tampered
|
|
1076
|
+
with. **Only load data you trust.**
|
|
1077
|
+
|
|
1071
1078
|
Parameters
|
|
1072
1079
|
----------
|
|
1073
1080
|
path : str or pathlib.Path
|
|
@@ -7,7 +7,7 @@ lightning<2.2,>=2.1
|
|
|
7
7
|
pytorch_lightning<2.3,>=2.2
|
|
8
8
|
transformers[sentencepiece]<4.41.0,>=4.38.0
|
|
9
9
|
accelerate<0.22.0,>=0.21.0
|
|
10
|
-
gluonts
|
|
10
|
+
gluonts==0.15.1
|
|
11
11
|
networkx<4,>=3.0
|
|
12
12
|
statsforecast<1.5,>=1.4.0
|
|
13
13
|
mlforecast<0.10.1,>=0.10.0
|
|
@@ -15,9 +15,9 @@ utilsforecast<0.0.11,>=0.0.10
|
|
|
15
15
|
tqdm<5,>=4.38
|
|
16
16
|
orjson~=3.9
|
|
17
17
|
tensorboard<3,>=2.9
|
|
18
|
-
autogluon.core[raytune]==1.1.
|
|
19
|
-
autogluon.common==1.1.
|
|
20
|
-
autogluon.tabular[catboost,lightgbm,xgboost]==1.1.
|
|
18
|
+
autogluon.core[raytune]==1.1.1b20240604
|
|
19
|
+
autogluon.common==1.1.1b20240604
|
|
20
|
+
autogluon.tabular[catboost,lightgbm,xgboost]==1.1.1b20240604
|
|
21
21
|
|
|
22
22
|
[all]
|
|
23
23
|
optimum[onnxruntime]<1.19,>=1.17
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|