2

I know there is similar question related this topic but I still cannt solve my case. So, I have one year data (365 days) of car request. I did 80%(+-280days) for train, and rest for test data. And, I make prediction with ARIMA.

Arima_model=sm.tsa.arima.ARIMA(train_df,order=(0,0,0))
result=Arima_model.fit()
future_dates = pd.date_range(start='2022-10-20',periods=73)
predictions = result.predict(start=future_dates[0], end=future_dates[-1])

The problem is, all of my prediction return the same value.

I attach the p value and autocorellation of train_df. I dont think it is because of my insufficient data. I have tried also to change the order parameter but still does not work.

adfuller enter image description here

1 Answers1

0
Arima_model=sm.tsa.arima.ARIMA(train_df,order=(0,0,0))

This line creates an ARIMA(0,0,0) model, i.e., there is no autoregression (the first zero), no integration (the second zero), and no moving average component (the last zero). Your model is an intercept-only model, so forecasts are naturally flat.

Try pmdarima.arima.auto_arima for automatic order selection. Don't forget to specify a possible seasonal cycle length of 7 for your time series, since car requests probably have an intra-weekly seasonality.

Also, you might be interested in these resources for time series forecasting: Resources/books for project on forecasting models.

Stephan Kolassa
  • 123,354