RJT1990 / pyflux

Open source time series library for Python
BSD 3-Clause "New" or "Revised" License
2.1k stars 240 forks source link

ARIMAX predict_is interpretation #121

Open Sindhu-Kiranmai opened 6 years ago

Sindhu-Kiranmai commented 6 years ago

According to the documentation, the predict_is() function using ARIMAX seems to perform in-sample rolling predictions for the model. The parameter 'h' is defined as number of previous timesteps to use. However, it looks like h denotes the number of predictions to make. For example, preds = model.predict_is(h=30) seems to be predicting the latest 30 samples in the data (based on the index of the dataframe it returns). Can someone please clarify the interpretation.

BenjaminLarrousse commented 6 years ago

You're right, it predicts the latest 30 samples in the data. I don't know if is intended or if it's a bug though.

markuskoesler commented 5 years ago

It would also be nice to have static in-sample forecasts, i.e. for example when predicting for t+2 using the estimated value for y_t+1 instead of the actual one.

Additionally, at the moment, you cannot fit the model on the whole sample and produce real in-sample forecasts. as @Sindhu-Kiranmai said, predict_is() actually produces still a pseudo-out-of-sample with dynamic 1-step forecasts rolled over h times.

It would be nice to fit the model to the whole sample t=1,...,T and generate in-sample forecasts for t=max_lag,...,T.

Is there any development planned for the future in this regard?