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

标签 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-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()

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

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

 enforce_stationarity=False,
 enforce_invertibility=False

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

最佳答案

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

参数: 如果你看包裹 documentation您会看到这些参数用于强制平稳性或可逆性。如果数据是静止的并且 AR 参数选择正确(因为您应该已经进行了一些先前的数据预处理)我们为什么要再做一次? Same 代表可逆性。

关于python - ARIMA 模型 : plot_diagnostics, 我们模型的残差是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44245855/

相关文章:

python - 从 MS Word 中提取数据

python - 在pandas中获取时间戳最接近给定日期时间的行的有效方法

c - 如何计算自回归模型中的系数值?

mysql - 移动整个键范围

matplotlib - statsmodels:IntegrationWarning:已达到最大分割数 (50)

python - 在 ubuntu 12.04 中编译 statsmodels 示例

python - GDALTranslaste 的 Data.VRT 中引用纬度/经度 VRT 文件

Python 和 Pandas - 按日期排序

python - 如何使用 secondary_y 调整 pandas 图的刻度和标签大小

python - python 上有两个变量的线性回归