Forecasting a Step-Like Time Series

I have an interesting time series dataset. I have monthly data and I would like to forecast the next 12 months of data points. I know the dates at which the dependent variable 'may' change up or down (i.e. the changepoints). One such example excerpt of my dataset is shown below.

My question is, how can I go about forecasting the next 12 months? I initially tried some other time series methods (e.g. prophet) but that resulted in some very strange, erratic forecasts and this seems like there should be a 'better' approach but my initial investigations have come up short. Any recommendations would be appreciated.

• Steps are handled well by random forests. There are formulations of random forests that apply to time series. Have you considered using them? stats.stackexchange.com/questions/384924/… Commented Nov 3, 2020 at 12:09

If you know the dates of your changepoints, there are two possibilities:

1. Although you know the dates of the changepoints, you know nothing about the vertical change at each change date. In this case, the best you can do is to discard all the data before the last change date and use only the data since then to forecast out. You can only forecast out until the next change date, because after that, you again know nothing.

2. In addition to the change date, you also know something about the vertical change. In this case, you might be able to learn something from the entire series (e.g., using dummies to mark each "regime"), and you may be able to forecast beyond the next change date, possibly with some post-processing. How exactly to do so depends on what information you have about the vertical change.

In the example you give, things seem to be very simple indeed, since the time series is constant in each regime. If this is so in general, the naive forecast (forecast the last observation out) is of course optimal, at least until the next change date.

• Thanks for the response, I need to be able to forecast through multiple changepoints for this application. It is ultimately the expected vertical change that I need to determine through multiple future changepoints. Commented Jun 28, 2019 at 14:16
• Do you know anything about your step changes? What kind of time series are these? You might be able to model and predict the vertical increments as such. Commented Jun 28, 2019 at 14:19
• I only know when the step changes may occur. I could possibly enforce some sort of bounds on the amount of possible change but I don't know anything ultimately about the direction or magnitude of the step changes. Commented Jun 28, 2019 at 14:24

Your time series is really strange with a staircase effect where it shift from different means at different times.

I'd suggest an ARIMA modeling in this particular case when it comes to series like that that are purely shift + stay at the mean for a long time.

But since your series isn't obviously stationary, don't forget to work on a differentiate serie.