autogluon.timeseries 1.1.2b20240818__tar.gz → 1.1.2b20240820__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.2b20240818 → autogluon.timeseries-1.1.2b20240820}/PKG-INFO +1 -1
  2. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/mlforecast.py +1 -1
  3. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/abstract_local_model.py +8 -4
  4. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/predictor.py +5 -1
  5. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/version.py +1 -1
  6. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/PKG-INFO +1 -1
  7. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/requires.txt +3 -3
  8. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/setup.cfg +0 -0
  9. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/setup.py +0 -0
  10. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/__init__.py +0 -0
  11. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/configs/__init__.py +0 -0
  12. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/configs/presets_configs.py +0 -0
  13. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/dataset/__init__.py +0 -0
  14. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/dataset/ts_dataframe.py +0 -0
  15. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/evaluator.py +0 -0
  16. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/learner.py +0 -0
  17. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/__init__.py +0 -0
  18. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/abstract.py +0 -0
  19. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/point.py +0 -0
  20. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/quantile.py +0 -0
  21. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/utils.py +0 -0
  22. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/__init__.py +0 -0
  23. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/__init__.py +0 -0
  24. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/abstract_timeseries_model.py +0 -0
  25. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/model_trial.py +0 -0
  26. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/__init__.py +0 -0
  27. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/utils.py +0 -0
  28. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/__init__.py +0 -0
  29. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/model.py +0 -0
  30. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/pipeline.py +0 -0
  31. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/utils.py +0 -0
  32. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/__init__.py +0 -0
  33. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py +0 -0
  34. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -0
  35. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/__init__.py +0 -0
  36. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -0
  37. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
  38. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/torch/models.py +0 -0
  39. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/__init__.py +0 -0
  40. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/naive.py +0 -0
  41. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/npts.py +0 -0
  42. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/statsforecast.py +0 -0
  43. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/multi_window/__init__.py +0 -0
  44. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/multi_window/multi_window_model.py +0 -0
  45. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/presets.py +0 -0
  46. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/splitter.py +0 -0
  47. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/__init__.py +0 -0
  48. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/abstract_trainer.py +0 -0
  49. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/auto_trainer.py +0 -0
  50. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/__init__.py +0 -0
  51. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/__init__.py +0 -0
  52. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/base.py +0 -0
  53. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/lags.py +0 -0
  54. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/seasonality.py +0 -0
  55. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/time_features.py +0 -0
  56. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/features.py +0 -0
  57. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/forecast.py +0 -0
  58. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/warning_filters.py +0 -0
  59. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/SOURCES.txt +0 -0
  60. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/dependency_links.txt +0 -0
  61. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/namespace_packages.txt +0 -0
  62. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/top_level.txt +0 -0
  63. {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/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.2b20240818
3
+ Version: 1.1.2b20240820
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
@@ -365,7 +365,7 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
365
365
  Seasonal naive forecast for short series, if there are any in the dataset.
366
366
  """
367
367
  ts_lengths = data.num_timesteps_per_item()
368
- short_series = ts_lengths.index[ts_lengths <= self._sum_of_differences + 1]
368
+ short_series = ts_lengths.index[ts_lengths <= self._sum_of_differences]
369
369
  if len(short_series) > 0:
370
370
  logger.warning(
371
371
  f"Warning: {len(short_series)} time series ({len(short_series) / len(ts_lengths):.1%}) are shorter "
@@ -222,18 +222,22 @@ def seasonal_naive_forecast(
222
222
  ) -> pd.DataFrame:
223
223
  """Generate seasonal naive forecast, predicting the last observed value from the same period."""
224
224
 
225
- def numpy_ffill(arr: np.ndarray) -> np.ndarray:
226
- """Fast implementation of forward fill in numpy."""
225
+ def numpy_fillna(arr: np.ndarray) -> np.ndarray:
226
+ """Fast implementation of forward fill + avg fill in numpy."""
227
+ # First apply forward fill
227
228
  idx = np.arange(len(arr))
228
229
  mask = np.isnan(arr)
229
230
  idx[mask] = 0
230
- return arr[np.maximum.accumulate(idx)]
231
+ arr_filled = arr[np.maximum.accumulate(idx)]
232
+ # Leading NaNs are filled with the mean
233
+ arr_filled[np.isnan(arr_filled)] = np.nanmean(arr_filled)
234
+ return arr_filled
231
235
 
232
236
  forecast = {}
233
237
  # At least seasonal_period + 2 values are required to compute sigma for seasonal naive
234
238
  if len(target) > seasonal_period + 1 and seasonal_period > 1:
235
239
  if np.isnan(target[-(seasonal_period + 2) :]).any():
236
- target = numpy_ffill(target)
240
+ target = numpy_fillna(target)
237
241
 
238
242
  indices = [len(target) - seasonal_period + k % seasonal_period for k in range(prediction_length)]
239
243
  forecast["mean"] = target[indices]
@@ -1098,6 +1098,10 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
1098
1098
  raise ValueError("`path` cannot be None or empty in load().")
1099
1099
  path: str = setup_outputdir(path, warn_if_exist=False)
1100
1100
 
1101
+ predictor_path = Path(path) / cls.predictor_file_name
1102
+ if not predictor_path.exists():
1103
+ raise FileNotFoundError(f"No such file '{predictor_path}'")
1104
+
1101
1105
  try:
1102
1106
  version_saved = cls._load_version_file(path=path)
1103
1107
  except:
@@ -1116,7 +1120,7 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
1116
1120
 
1117
1121
  logger.info(f"Loading predictor from path {path}")
1118
1122
  learner = AbstractLearner.load(path)
1119
- predictor = load_pkl.load(path=os.path.join(learner.path, cls.predictor_file_name))
1123
+ predictor = load_pkl.load(path=str(predictor_path))
1120
1124
  predictor._learner = learner
1121
1125
  predictor.path = learner.path
1122
1126
  return predictor
@@ -1,3 +1,3 @@
1
1
  """This is the autogluon version file."""
2
- __version__ = '1.1.2b20240818'
2
+ __version__ = '1.1.2b20240820'
3
3
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.1.2b20240818
3
+ Version: 1.1.2b20240820
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
@@ -16,9 +16,9 @@ fugue>=0.9.0
16
16
  tqdm<5,>=4.38
17
17
  orjson~=3.9
18
18
  tensorboard<3,>=2.9
19
- autogluon.core[raytune]==1.1.2b20240818
20
- autogluon.common==1.1.2b20240818
21
- autogluon.tabular[catboost,lightgbm,xgboost]==1.1.2b20240818
19
+ autogluon.core[raytune]==1.1.2b20240820
20
+ autogluon.common==1.1.2b20240820
21
+ autogluon.tabular[catboost,lightgbm,xgboost]==1.1.2b20240820
22
22
 
23
23
  [all]
24
24
  optimum[onnxruntime]<1.19,>=1.17