I have a number of time series with strong seasonality and I am using auto.arima() from R's Forecast package along with Fourier and dummy/explanatory variables to address the seasonality to make forecasts for each time series. In one part of the time series there are two peaks of activity. I am looking at previous data to see how well my model predicts out-of-sample-error. For most of my time series, my ARIMA models do a really good job at forecasting the peaks and troughs of activity. The models will do a good job when estimating the peaks before they happen and also if I were to update the model with recent data during the middle of the first peak.
My model, however, gets wonky if the first peak was higher than expected. In this situation, if I estimate the future using only data before the first peak, my model underestimates the first peak but it accurately forecasts the following trough and does a reasonable job at forecasting the second peak. (See below - Red is estimated activity; Black is observed activity)
If I try updating the model with recent data during the middle of the first peak, the forecast then substantially overestimates activity during the remainder of the time series. (See below - Red is estimated activity; Black is observed activity)
Why does an updated model do this? And is there a way to address this issue? I know from domain knowledge that even if the first peak is higher than expected the following trough should return back down, more or less, to the originally expected level. I have tried playing with the Fourier parameter and manually testing out different ARIMA models.