【发布时间】:2020-02-16 10:48:33
【问题描述】:
我正在尝试使用 ARIMA 模型进行一些预测。我在将预测转换回原始比例时遇到问题。这是我的代码。 有人可以帮我找到脚本中的错误吗?非常感谢,谢谢。
from statsmodels.tsa.arima_model import ARIMA
#arima model
model=ARIMA(ts_logscale,order=(2,1,2))
results_ARIMA=model.fit(disp=-1)
plt.plot(datasetlogdiffshifting)
plt.plot(results_ARIMA.fittedvalues,color='red')
plt.title('RSS: %.4f'% sum((results_ARIMA.fittedvalues-datasetlogdiffshifting["Chargé (T)"])**2))
print('plotting ARIMA model')
现在,当我尝试转换回来时:
#converting back
#creating a time serie
predictions_ARIMA_diff=pd.Series(results_ARIMA.fittedvalues,copy=True)
#convert to cumulative sum
predictions_ARIMA_diff_cumsum=predictions_ARIMA_diff.cumsum()
predictions_ARIMA_log=pd.Series(ts_logscale['Chargé (T)'].ix[0],index=ts_logscale.index)
predictions_ARIMA_log=(predictions_ARIMA_log).add(predictions_ARIMA_diff_cumsum,fill_value=0)
#plotting
predictions_ARIMA=np.exp(predictions_ARIMA_log)
plt.plot(ts,color='blue')
plt.plot(predictions_ARIMA,color='red')
你可以看到它与第一个情节非常不同......
【问题讨论】:
标签: python machine-learning prediction forecasting arima