Моя модель ARIMA дает ровную линию в питоне - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь построить модель ARIMA для моего набора данных, который находится в фрейме данных pandas, который состоит из данных с 23.03.2015 по 17.08.2009. Я отбросил строки (каждая строка представляет день), которые имеют значения 0 или nan, поэтому у меня всего около 1544 строк. Я передал время столбца в pd.datetime и сделал его индексом. Эти данные выглядят так:

                     time   emails_received
    2015-03-23 04:00:00+00:00   474483.000000
    2015-03-24 04:00:00+00:00   378195.000000

График времени выглядит следующим образом enter image description here

И автокорреляция выглядит следующим образом

enter image description here

После выполнения теста dbfuller он дал мне значение p 0,00005, что означает, что он, вероятно, является стационарным. Я создал массив поездов и тестов и поместил его в ARIMA.

x = fa2.values   #fa is the name of the df that holds my dataset
train = x[0:1235] #train holds 80% of the values
test = x[1235:]   #test with the remaining 20%
predictions = []

from statsmodels.tsa.ar_model import AR
from sklearn.metrics import mean_squared_error

model = AR(train)
model_fitted = model.fit()
predictions = model_fitted.predict(start = 1234, end = 1544)
plt.plot(test)
plt.plot(predictions, color = 'red')

Теперь моя проблема в том, что, когда я строю тест и прогноз, прогноз превращается в прямую линию, и это, очевидно, не выглядит точным,Я по-прежнему получаю те же результаты, когда играю со значениями p, d, q в ARIMA. Есть ли конкретная причина, почему это происходит? Здесь картина сюжета. enter image description here

...