У меня есть входные данные временного ряда, где время является нерегулярным, как показано ниже: 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 в качестве параметра.
Может кто-нибудь помочь, пожалуйста?