Python statsmodels ARIMA.fteedvalues ​​дает отрицательные значения, если d = 1, прогноз R - нет - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь научиться применять модель 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?

...