ARIMA Python - функция прогнозирования не принимает дату в качестве входных данных - PullRequest
0 голосов
/ 08 октября 2018

У меня есть входные данные временного ряда, где время является нерегулярным, как показано ниже: data_series_final - это ряд данных

Price      Date
9654    28.04.2013
10040   01.01.2014
10381   01.01.2017
10040   04.07.2016
11011   02.04.2018
10381   05.01.2018
10849   05.02.2018
11011   05.03.2018
11602   07.05.2018

Случай 1: я не упорядочил интервалы и продолжил стационарную обработку данных с использованием журналаи метод различий

ds_log = np.log(data_series_final)
data_diff_log = ds_log.diff(periods=1)
data_diff_log =  data_diff_log.dropna()

data_diff_log_train = data_diff_log[0:5]
data_diff_log_test = data_diff_log[5:]

Данные были довольно стационарными, и тренировочная модель соответствовала модели ARIMA.Но когда я запустил функцию прогнозирования в ARIMA и передал даты в качестве входного параметра, я получил следующую ошибку:

model_arima = ARIMA(data_diff_log_train, order=(0,0,2))
model_arima_fit = model_arima.fit()
predict_arima=[]
predict_arima = model_arima_fit.forecast(steps=2)[0]

predictions = model_arima_fit.predict(start='2020-01-01', end='2021-01-01')

KeyError: '2020-01-01' TypeError: требуется целое число

KeyError: «Невозможно сопоставить аргумент start с местоположением, связанным с индексом данных.»

Случай 2: я попытался упорядочить временной интервал, заполнив данные,

#
#Upsampling and Interpolating data 

data_upsampled = data_series_final.resample('D', convention='start').asfreq()
data_upsampled = upsampled.interpolate(method='linear')
#data_upsampled = data_series_final.resample('D', fill_method = 'ffill')

Но я не мог сделать данные стационарными, так как были значения в значениях.Также я получил ту же ошибку, как упомянуто выше, и не смог отправить в datetime в качестве параметра.

Может кто-нибудь помочь, пожалуйста?

...