diff --git a/flaml/automl.py b/flaml/automl.py index 71d7bd43b6..34172bfab1 100644 --- a/flaml/automl.py +++ b/flaml/automl.py @@ -1026,12 +1026,25 @@ def _validate_ts_data( assert ( dataframe[[dataframe.columns[0]]].duplicated() is None ), "Duplicate timestamp values with different values for other columns." - ts_series = pd.to_datetime(dataframe[dataframe.columns[0]]) - inferred_freq = pd.infer_freq(ts_series) - if inferred_freq is None: - logger.warning( - "Missing timestamps detected. To avoid error with estimators, set estimator list to ['prophet']. " - ) + if self._state.task == TS_FORECASTPANEL: + # check for each time series independently + group_ids = self._state.fit_kwargs.get("group_ids") + group_df = dataframe.groupby(group_ids) + for group in group_df: + ts = group[1] + ts_series = pd.to_datetime(ts[ts.columns[0]]) + inferred_freq = pd.infer_freq(ts_series) + if inferred_freq is None: + logger.warning( + "Missing timestamps detected." + ) + else: + ts_series = pd.to_datetime(dataframe[dataframe.columns[0]]) + inferred_freq = pd.infer_freq(ts_series) + if inferred_freq is None: + logger.warning( + "Missing timestamps detected. To avoid error with estimators, set estimator list to ['prophet']. " + ) if y_train_all is not None: return dataframe.iloc[:, :-1], dataframe.iloc[:, -1] return dataframe