Я пытаюсь научиться применять модель ARIMA к временному ряду. Когда я пытаюсь дополнить ARIMA (1,1,1) статистическими моделями, я использую этот код:
from statsmodels.tsa.arima_model import ARIMA
ARIMA_model = ARIMA(topic, order=(1, 1, 1)).fit()
plt.plot(topic, label="Pesiticides")
plt.plot(ARIMA_model.fittedvalues, color='red', label="Forecast")
plt.legend(loc='best')
plt.show()
И вот такой график я получаю: statsmodels ARIMA (1,1 , 1)
График подгоненных значений мне кажется странным, как будто подгонянные значения не учитывают дифференциацию. Я попытался запустить ту же модель в R, чтобы проверить:
library(forecast)
simple_arima = arima(my_df$topic, order=c(1, 1, 1))
plot(my_df$topic, col="blue", type="l")
lines(fitted(simple_arima),col="red")
Я ожидаю небольшую разницу между statsmodels в Python и прогнозом в R, но график R имеет для меня гораздо больше смысла: R прогноз ARIMA (1,1,1)
Допускаю ли я некоторые ошибки при построении значений в Python? Должен ли я использовать прогноз, а не statsmodels?