facebook / prophet

Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
https://facebook.github.io/prophet
MIT License
18.26k stars 4.51k forks source link

Prophet for predict hourly basis daily temperature #683

Closed swagat123 closed 5 years ago

swagat123 commented 5 years ago

Hi

I have 3 months data of temperature got from censor on hourly basis. So daily 24 data points and weekly 168 data points. I need to predict next day(24 data points).

I used the below code


model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=24, freq='H')
fcst = model.predict(future)

then I split the data into train and test and did the prediction .I got the below details Prediction quality: 101.46 MSE (10.07 RMSE) MAE - 8.30542470861 MAPE - 10.7460364749

I need to improve this forecast result.Is there any way to do this?

vhpietil commented 5 years ago

Most probably there are ways to improve your forecast results. But it is extremely difficult to give any suggestions without seeing your data and predictions. Someone might be able to help if you attached few plots

swagat123 commented 5 years ago

acf_pacf forecast_train_test predict_3days test_train

data_mnthly.txt

I have added the screen shot along with data. I added prediction period 72 for 3days. I split the data into train and test then check for validation.

vhpietil commented 5 years ago

I can't see any easy way to improve your forecasts. The data seems to be pretty much random without strong daily seasonality. I don't know how to improve the predictions if there are no external regressors that explain the intraday variability.

swagat123 commented 5 years ago

@vhpietil Thank you for the analysis.So there is no way i can improve this model. I have one question if the voltage contributing to temperature variability , is there any way we can add that voltage value as external regressor in prophet and predict next 2/3 days temperature. if so then how we can do this.

vhpietil commented 5 years ago

You can use add_regressor -function to add voltage value as an external regressor.

https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html

ghost commented 5 years ago

@swagat123: quick question: the ACF en PACF plots are not part of the fbprophet package, or are they?

swagat123 commented 5 years ago

@WouterTromp: I created the ACF and PACF using statsmodels.graphics.tsaplots.

ghost commented 5 years ago

Ah great. Those I know :)