Solved – How to interpret coefficients in a regression with ARIMA errors

change pointintervention-analysistime series

I've got some time-series business data that I can fit relatively well with a ARIMA(2,1,0)(1,1,0)[12] model (using R's excellent forecast::Arima — thanks Prof. Hyndman!). The series is dominated by seasonal effects, but has trends as well, thus the differencing. I'm not an expert in forecasting.

I'm exploring a future experiment (power analysis sorts of things) by simulating the effect of some sort of intervention that may increase (or decrease) the values in the series, probably multiplicatively. To do this, I'm scaling the numbers for the last N months by X%, and using the xreg parameter to change the model from a differenced AR(1) to a regression with time-series errors. The vector I'm using as the regressor looks like [0, 0, ..., 0, 1, 1, 1], where 1s represent the months with the intervention in effect.

The coefficient I get from the model appears to be an additive effect, which makes sense, but is much smaller than the actual effect (4000 vs 100,000). However, when I use forecast, with and without 1s in the regressor, the difference is of the expected magnitude — if anything, too high.

So, my questions:

  1. How do I interpret that coefficient. Is it additive?
  2. Is it correct to use 1s in the regressor vector for all time periods that the treatment is in effect, or should I be thinking of this as an impulse that offsets the trend in the ARIMA model, and using a pattern like 0, 1, 0, 0, -1, 0?
  3. Any other advice?

This is related to these questions, which either don't answer my question or I don't fully understand:

Thanks!

Best Answer

To answer some of my own questions, after additional reading and experimenting:

  1. The trick with the coefficient is that it's in the space of the data after Box-Cox transformation. So invert the transformation to get the beta in the original units.
  2. Yes, the standard approach in intervention analysis is to use a step function for the regressor, unless you have reason to think that the effect will be either an impulse or a slower ramp-up.

One of several resources that I found useful was McLeod et al., Time Series Analysis with R. I figured out the Box-Cox thing by reading the forecast::forecast.Arima() code.