Machine learning arimapython-predict函数不接受日期作为输入

Machine learning arimapython-predict函数不接受日期作为输入,machine-learning,scikit-learn,time-series,arima,Machine Learning,Scikit Learn,Time Series,Arima,我有一个时间序列输入数据,其中时间是不规则的,如下所示: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:我没有调整间隔

我有一个时间序列输入数据,其中时间是不规则的,如下所示: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')
键错误:“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作为参数发送

有人能帮忙吗