I know this has been asked a lot but I have checked everything and still don't understand. To start, I have a dataset of global temperatures averaged over years. There is a trend in the series and I use pmdarima ndiffs to give me the number of differencing. I use pmdarima auto_arima to get the model with the lowest aic value. But when I plot the predictions, I get a straight line with a trend. The model I use is:
size = len(avg_temp)
cutoff = int(size*0.7)
train = avg_temp[:cutoff]
test = avg_temp[cutoff:]
model = pm.auto_arima(train, start_p=1, start_q=1,
max_p=10, max_q=10,
seasonal=False,
d=1, trace=True,
suppress_warnings=True)
The order of the model obtained by auto_arima is (1, 1, 3). I read in some answers that the forecast of ARIMA is only to the value of q. But I have seen people forecasting bigger ranges of values. I checked for seasonality by using statsmodels seasonal_decompose and there was no seasonality.
My questions are: Am I doing something wrong? What can I do to improve it? and if it can't be improved how do I explain it?