I am trying to work with ARIMA forecasting for a TS that has trends and seasonality. Hence I decompose the data into residual+trend+seasonality.
As I need to predict values out of sample, I am using exog=trend as input for the model and run prediction on residual (which is ~stationary).
This works really poorly. It seems that the trend is not taken into consideration by the model at all - when I add artificially the trend to the predicted values, i.e., plot prediction + trend, the prediction looks very close to the original series... But since I do not know the trend, I cannot do this trick. When not using additive trend, there is a seemingly constant difference between parts of the prediction and the real data.
My question is the following - can ARIMA deal with trend in Python (I know that it can in R)? How can it be imported into the model if not via exog? I tried to run ARIMA on residual+trend and it still performs badly.
Also, what is the meaning of trend = 'c' Vs trend = 'nc'? The manual says "Whether to include a constant or not. ‘c’ includes constant, ‘nc’ no constant."
Constant as constant trend 0-order estimate? Constant as expected constant trend, i.e., 'nc' means varying trend? Or 'nc' as no trend included in the model? The prediction does not work well neither with this nor with that option, but if I know that there is a trend, should I always use "c"?
Help please?
Thanks.