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.
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/PKG-INFO +1 -1
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/mlforecast.py +1 -1
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/abstract_local_model.py +8 -4
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/predictor.py +5 -1
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/version.py +1 -1
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/PKG-INFO +1 -1
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/requires.txt +3 -3
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/setup.cfg +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/setup.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/configs/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/configs/presets_configs.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/dataset/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/dataset/ts_dataframe.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/evaluator.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/learner.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/abstract.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/point.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/quantile.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/metrics/utils.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/abstract_timeseries_model.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/abstract/model_trial.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/autogluon_tabular/utils.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/model.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/pipeline.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/chronos/utils.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/gluonts/torch/models.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/naive.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/npts.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/local/statsforecast.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/multi_window/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/multi_window/multi_window_model.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/models/presets.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/splitter.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/abstract_trainer.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/trainer/auto_trainer.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/__init__.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/base.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/lags.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/seasonality.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/datetime/time_features.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/features.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/forecast.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon/timeseries/utils/warning_filters.py +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/SOURCES.txt +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/dependency_links.txt +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/namespace_packages.txt +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/top_level.txt +0 -0
- {autogluon.timeseries-1.1.2b20240818 → autogluon.timeseries-1.1.2b20240820}/src/autogluon.timeseries.egg-info/zip-safe +0 -0
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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=
|
|
1123
|
+
predictor = load_pkl.load(path=str(predictor_path))
|
|
1120
1124
|
predictor._learner = learner
|
|
1121
1125
|
predictor.path = learner.path
|
|
1122
1126
|
return predictor
|
|
@@ -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.
|
|
20
|
-
autogluon.common==1.1.
|
|
21
|
-
autogluon.tabular[catboost,lightgbm,xgboost]==1.1.
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|