我一直在研究基于ARIMA模型的时间序列。但是我尝试了预测未来的价值。例如,我的时间序列于2015年11月1日结束,此时我想预测2015年12月1日的价值。我曾在互联网上用google搜索它,但我对未来的价值一无所获。文档和互联网上的所有示例仅显示了测试预测。实际上,关于未来价值的网站很少,但是所有示例都是用旧日期写的。绝对我在这里搜索,但是再一次,我什么也没找到。
import pandas as pd
import numpy as np
data = pd.read_csv(r'Desktop/IPG2211A2N.csv', index_col = 0)
#TURN INDEX TO DATETIME *IMPORTANT.
data.index = pd.to_datetime(data.index)
data.columns = ['Energy Production']
import pmdarima as pm
stepwise_model = pm.auto_arima(data, start_p=1, start_q=1,
max_p=3, max_q=3, m=12,
start_P=0, seasonal=True,
d=1, D=1, trace=True,
error_action='ignore',
suppress_warnings=True,
stepwise=True)
# =============================================================================
# TRAIN
# =============================================================================
train = data.iloc[:int(len(data)*0.7),:]
test = data.iloc[int(len(data)*0.7):,:]
stepwise_model.fit(train)
# =============================================================================
# FORECAST
# =============================================================================
future_forecast = stepwise_model.predict(n_periods=len(test))
future_forecast = pd.DataFrame(future_forecast,index = test.index,columns=['Prediction'])
# =============================================================================
# COMPARE RESULT BETWEEN JUST TEST AND RESULT
# =============================================================================
import matplotlib.pyplot as plt
plt.plot(pd.concat([test,future_forecast],axis=1))
plt.show()
# =============================================================================
# COMPARE RESULT BETWEEN ALL DATA AND RESULT
# =============================================================================
plt.cla()
future_forecast2 = future_forecast
plt.plot(pd.concat([data,future_forecast2],axis=1))
plt.show()