ARIMA 模型:plot_diagnostics,我们模型的残差是什么意思

tkt*_*711 6 python time-series statsmodels

我正在通过以下教程研究 ARIMA 模型:https : //www.digitalocean.com/community/tutorials/a-guide-to-time-series-forecasting-with-arima-in-python-3#step-5 - --fitting-AN-华宇时间序列模型

在我使用第 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])
Run Code Online (Sandbox Code Playgroud)

和情节

results.plot_diagnostics(figsize=(15, 12))
plt.show()
Run Code Online (Sandbox Code Playgroud)

我不知道含义:我们模型的残差不相关且正态分布为零均值。我想知道模型中的残差是什么,残差是真实值和预测值之间的差值的意思。

为什么作者将enforce_stationarity设置为False,因为ARIMA模式需要数据平稳性,enforce_stationarity和enforce_invertibility是什么意思?

 enforce_stationarity=False,
 enforce_invertibility=False
Run Code Online (Sandbox Code Playgroud)

如果可以的话,能不能详细解释一下。谢谢!

pap*_*151 4

残差确实是真实值和预测值之间的差异。如果残差之间存在相关性,则残差中残留有可用于计算预测的信息。如果残差的均值不为零,则预测存在偏差。例如,如果我们有一个不断增长的残差,如 (... -0.3, -0.2, 0.1, 0, 0.1, 0.2, 0.3, ... 等等,平均值将为 0),这意味着我们的模型不会完整地描述了这个过程。

参数:如果您查看包文档,您会发现这些参数用于强制平稳性或可逆性。如果数据是平稳的并且 AR 参数选择正确(因为您应该已经完成​​了一些先前的数据预处理),为什么我们还要再做一次呢?同样代表可逆性。