autogluon.timeseries 1.1.1b20240507__tar.gz → 1.1.1b20240508__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.

Files changed (63) hide show
  1. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/PKG-INFO +1 -1
  2. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/autogluon_tabular/mlforecast.py +28 -4
  3. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/version.py +1 -1
  4. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/PKG-INFO +1 -1
  5. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/requires.txt +3 -3
  6. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/setup.cfg +0 -0
  7. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/setup.py +0 -0
  8. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/__init__.py +0 -0
  9. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/configs/__init__.py +0 -0
  10. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/configs/presets_configs.py +0 -0
  11. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/dataset/__init__.py +0 -0
  12. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/dataset/ts_dataframe.py +0 -0
  13. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/evaluator.py +0 -0
  14. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/learner.py +0 -0
  15. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/metrics/__init__.py +0 -0
  16. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/metrics/abstract.py +0 -0
  17. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/metrics/point.py +0 -0
  18. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/metrics/quantile.py +0 -0
  19. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/metrics/utils.py +0 -0
  20. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/__init__.py +0 -0
  21. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/abstract/__init__.py +0 -0
  22. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/abstract/abstract_timeseries_model.py +0 -0
  23. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/abstract/model_trial.py +0 -0
  24. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/autogluon_tabular/__init__.py +0 -0
  25. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/autogluon_tabular/utils.py +0 -0
  26. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/chronos/__init__.py +0 -0
  27. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/chronos/model.py +0 -0
  28. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/chronos/pipeline.py +0 -0
  29. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/chronos/utils.py +0 -0
  30. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/ensemble/__init__.py +0 -0
  31. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py +0 -0
  32. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -0
  33. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/gluonts/__init__.py +0 -0
  34. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -0
  35. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
  36. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/gluonts/torch/models.py +0 -0
  37. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/local/__init__.py +0 -0
  38. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/local/abstract_local_model.py +0 -0
  39. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/local/naive.py +0 -0
  40. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/local/npts.py +0 -0
  41. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/local/statsforecast.py +0 -0
  42. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/multi_window/__init__.py +0 -0
  43. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/multi_window/multi_window_model.py +0 -0
  44. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/models/presets.py +0 -0
  45. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/predictor.py +0 -0
  46. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/splitter.py +0 -0
  47. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/trainer/__init__.py +0 -0
  48. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/trainer/abstract_trainer.py +0 -0
  49. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/trainer/auto_trainer.py +0 -0
  50. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/__init__.py +0 -0
  51. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/datetime/__init__.py +0 -0
  52. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/datetime/base.py +0 -0
  53. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/datetime/lags.py +0 -0
  54. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/datetime/seasonality.py +0 -0
  55. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/datetime/time_features.py +0 -0
  56. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/features.py +0 -0
  57. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/forecast.py +0 -0
  58. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon/timeseries/utils/warning_filters.py +0 -0
  59. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/SOURCES.txt +0 -0
  60. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/dependency_links.txt +0 -0
  61. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/namespace_packages.txt +0 -0
  62. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/top_level.txt +0 -0
  63. {autogluon.timeseries-1.1.1b20240507 → autogluon.timeseries-1.1.1b20240508}/src/autogluon.timeseries.egg-info/zip-safe +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.1.1b20240507
3
+ Version: 1.1.1b20240508
4
4
  Summary: Fast and Accurate ML in 3 Lines of Code
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -86,6 +86,28 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
86
86
  self._residuals_std_per_item: Optional[pd.Series] = None
87
87
  self._avg_residuals_std: Optional[float] = None
88
88
  self._train_target_median: Optional[float] = None
89
+ self._non_boolean_real_covariates: List[str] = []
90
+
91
+ @property
92
+ def tabular_predictor_path(self) -> str:
93
+ return os.path.join(self.path, "tabular_predictor")
94
+
95
+ def save(self, path: str = None, verbose: bool = True) -> str:
96
+ assert "mean" in self._mlf.models_, "TabularPredictor must be trained before saving"
97
+ tabular_predictor = self._mlf.models_["mean"].predictor
98
+ self._mlf.models_["mean"].predictor = None
99
+ save_path = super().save(path=path, verbose=verbose)
100
+ self._mlf.models_["mean"].predictor = tabular_predictor
101
+ return save_path
102
+
103
+ @classmethod
104
+ def load(
105
+ cls, path: str, reset_paths: bool = True, load_oof: bool = False, verbose: bool = True
106
+ ) -> "AbstractTimeSeriesModel":
107
+ model = super().load(path=path, reset_paths=reset_paths, load_oof=load_oof, verbose=verbose)
108
+ assert "mean" in model._mlf.models_, "Loaded model doesn't have a trained TabularPredictor"
109
+ model._mlf.models_["mean"].predictor = TabularPredictor.load(model.tabular_predictor_path)
110
+ return model
89
111
 
90
112
  def preprocess(self, data: TimeSeriesDataFrame, is_train: bool = False, **kwargs) -> Any:
91
113
  if is_train:
@@ -252,10 +274,9 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
252
274
  if static_features is not None:
253
275
  df = pd.merge(df, static_features, how="left", on=ITEMID, suffixes=(None, "_static_feat"))
254
276
 
255
- for col in self.metadata.known_covariates_real:
277
+ for col in self._non_boolean_real_covariates:
256
278
  # Normalize non-boolean features using mean_abs scaling
257
- if not df[col].isin([0, 1]).all():
258
- df[f"__scaled_{col}"] = df[col] / df[col].abs().groupby(df[ITEMID]).mean().reindex(df[ITEMID]).values
279
+ df[f"__scaled_{col}"] = df[col] / df[col].abs().groupby(df[ITEMID]).mean().reindex(df[ITEMID]).values
259
280
 
260
281
  # Convert float64 to float32 to reduce memory usage
261
282
  float64_cols = list(df.select_dtypes(include="float64"))
@@ -277,6 +298,9 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
277
298
  self._check_fit_params()
278
299
  fit_start_time = time.time()
279
300
  self._train_target_median = train_data[self.target].median()
301
+ for col in self.metadata.known_covariates_real:
302
+ if not train_data[col].isin([0, 1]).all():
303
+ self._non_boolean_real_covariates.append(col)
280
304
  # TabularEstimator is passed to MLForecast later to include tuning_data
281
305
  model_params = self._get_model_params()
282
306
 
@@ -292,7 +316,7 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
292
316
 
293
317
  estimator = TabularEstimator(
294
318
  predictor_init_kwargs={
295
- "path": os.path.join(self.path, "tabular_predictor"),
319
+ "path": self.tabular_predictor_path,
296
320
  "verbosity": verbosity - 2,
297
321
  "label": MLF_TARGET,
298
322
  **self._get_extra_tabular_init_kwargs(),
@@ -1,3 +1,3 @@
1
1
  """This is the autogluon version file."""
2
- __version__ = '1.1.1b20240507'
2
+ __version__ = '1.1.1b20240508'
3
3
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.1.1b20240507
3
+ Version: 1.1.1b20240508
4
4
  Summary: Fast and Accurate ML in 3 Lines of Code
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -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.1b20240507
19
- autogluon.common==1.1.1b20240507
20
- autogluon.tabular[catboost,lightgbm,xgboost]==1.1.1b20240507
18
+ autogluon.core[raytune]==1.1.1b20240508
19
+ autogluon.common==1.1.1b20240508
20
+ autogluon.tabular[catboost,lightgbm,xgboost]==1.1.1b20240508
21
21
 
22
22
  [all]
23
23
  optimum[onnxruntime]<1.19,>=1.17