ARIMA预测的统计模型为我提供了差分信号的预测,而不是实际信号的预测。我犯什么错误?

时间:2020-10-13 13:29:57

标签: statsmodels predict arima

信号看起来像这样

original signal

使用 plot(output.diff())获得的差分信号看起来像这样

differenced signal

接下来,通过分析ACF和PACF获得ARIMA模型的参数

模型通过以下方式拟合

模型= ARIMA(输出值,顺序=(2,1,1))

model_fit = model.fit(disp = 0)

当我使用

model_fit.plot_predict(dynamic = False)

plt.show()

太完美了!

result using plot_predict

但是当我使用 plt.plot(model_fit.predict(dynamic = False))

它给出了差分信号的预测

result using predict of arima

1 个答案:

答案 0 :(得分:0)

如果您使用的是模型sm.tsa.ARIMA,则可以使用以下内容:

plt.plot(model_fit.predict(dynamic=False, typ='levels'))

但是,此模型已弃用,并将在将来的Statsmodels版本中删除。为了与将来的版本兼容,您可以使用新的ARIMA模型:

from statsmodels.tsa.arima.model import ARIMA

import statsmodels.api as sm

model = sm.tsa.arima.ARIMA(output.values, order=(2,1,1))

此新模型将自动生成实际信号的预测和预测,因此在这种情况下您无需使用typ='levels'