我正在使用以下教程学习ARIMA模型:https://www.digitalocean.com/community/tutorials/a-guide-to-time-series-forecasting-with-arima-in-python-3#step-5- - 拟合 - arima-time-series-model
在我使用步骤5拟合模型后 - 使用以下代码拟合ARIMA时间序列模型:
mod = sm.tsa.statespace.SARIMAX(y,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12),
enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
print(results.summary().tables[1])
和情节
results.plot_diagnostics(figsize=(15, 12))
plt.show()
我不知道其含义:我们模型的残差是不相关的,并且通常以零均值分布。我想知道模型中的残差是什么,残差是真值和预测值之间的差异。
为什么作者设置enforce_stationarity为False,因为ARIMA模式需要数据平稳性,enforce_stationarity和enforce_invertibility的含义是什么?
enforce_stationarity=False,
enforce_invertibility=False
如果可能,你能否详细解释一下。谢谢!
答案 0 :(得分:1)
残差确实是真实值和预测值之间的差异。如果残差之间存在相关性 - 残差中剩下的信息应该用于计算预测。如果残差的平均值不为零,那么预测就会有偏差。例如,如果我们有一个不断增长的残差,如(...... -0.3,-0.2,0.1,0,0.1,0.2,0.3 ......等等),则平均值为0)这意味着我们的模型没有完全描绘了这个过程。
参数: 如果您查看包documentation,您会看到这些参数用于ENFORCE平稳性或可逆性。如果数据是静止的并且AR参数被正确选择(因为您应该已经完成了一些先前的数据预处理),为什么我们要再次进行?同样代表可逆性。