diff --git a/dash/requirements.txt b/dash/requirements.txt index 1ee54cd..845d303 100644 --- a/dash/requirements.txt +++ b/dash/requirements.txt @@ -26,7 +26,7 @@ numpy==1.22.4 openpyxl==3.0.10 pandas==1.4.2 plotly==5.8.0 -prophet==1.1 +#prophet==1.1 python-dateutil==2.8.2 python-slugify==6.1.2 pytz==2022.1 diff --git a/updater/models.py b/updater/models.py index 3abaf85..664542a 100644 --- a/updater/models.py +++ b/updater/models.py @@ -13,7 +13,7 @@ import torch -from prophet import Prophet +# from prophet import Prophet import warnings @@ -681,47 +681,47 @@ class RComb(RDirectForecastModel): r_forecast_model_name = "comb" -# prophet model -class FBProphet(ForecastModel): - name = "facebook-prophet" - - method = "facebook-prophet" - - def fit(self, y): - # rename two column as `date` and `y` per prophet requirement - self.y = y.reset_index().rename(columns={"date": "ds", "value": "y"}) - - self.model = Prophet().fit(self.y) - - def _make_future(self): - """make future dataframe for prediction""" - return self.model.make_future_dataframe(periods=self.h).tail(self.h) - - def predict(self): - # make future prediction dataframe - future = self._make_future() - return self.model.predict(future)["yhat"].to_numpy() - - def predict_withci(self): - future = self._make_future() - forecast_dict = {"forecast": self.predict()} - - for i in range(len(self.level)): - self.model.interval_width = self.level[i] * 0.01 - forecast_df = self.model.predict(future) - - # add intervals - forecast_dict[f"LB_{self.level[i]}"] = forecast_df[ - "yhat_lower" - ].to_numpy() - forecast_dict[f"UB_{self.level[i]}"] = forecast_df[ - "yhat_upper" - ].to_numpy() - - return forecast_dict - - def description(self): - return self.model +# # prophet model +# class FBProphet(ForecastModel): +# name = "facebook-prophet" +# +# method = "facebook-prophet" +# +# def fit(self, y): +# # rename two column as `date` and `y` per prophet requirement +# self.y = y.reset_index().rename(columns={"date": "ds", "value": "y"}) +# +# self.model = Prophet().fit(self.y) +# +# def _make_future(self): +# """make future dataframe for prediction""" +# return self.model.make_future_dataframe(periods=self.h).tail(self.h) +# +# def predict(self): +# # make future prediction dataframe +# future = self._make_future() +# return self.model.predict(future)["yhat"].to_numpy() +# +# def predict_withci(self): +# future = self._make_future() +# forecast_dict = {"forecast": self.predict()} +# +# for i in range(len(self.level)): +# self.model.interval_width = self.level[i] * 0.01 +# forecast_df = self.model.predict(future) +# +# # add intervals +# forecast_dict[f"LB_{self.level[i]}"] = forecast_df[ +# "yhat_lower" +# ].to_numpy() +# forecast_dict[f"UB_{self.level[i]}"] = forecast_df[ +# "yhat_upper" +# ].to_numpy() +# +# return forecast_dict +# +# def description(self): +# return self.model class RCES(RSmoothForecastModel): diff --git a/updater/requirements.txt b/updater/requirements.txt index 7d17f7d..94edf12 100644 --- a/updater/requirements.txt +++ b/updater/requirements.txt @@ -13,7 +13,7 @@ packaging==21.3 pandas==1.4.2 patsy==0.5.2 plotly==5.8.0 -prophet==1.1 +#prophet==1.1 pycparser==2.21 pyparsing==3.0.9 python-dateutil==2.8.2