time-series - 三个 ARIMA 问题
问题描述
我正在学习 ARIMA 算法并遇到了一些问题。请回答以下问题。使用的 ARIMA 实现来自 statesmodel.tsa。
Q1。是否可以将 ARIMA 算法配置为在检测到 AR 系数不稳定时进行预测,而不是停止。我有以下代码:
history = [x for x in train]
for tt in test.index:
t=datetime.date(tt)
# fit model
model = ARIMA(history, order=(1,1,1))
model_fit = model.fit()
# one step forecast
yhat = model_fit.forecast()[0]
# store forecast and ob
predictions.append(yhat)
history.append(test[t])
大多数数据集将通过代码运行,即使它们可能不会产生好的结果。有一组数据导致算法停止。我检查了这个数据集,发现它的值先升后降。我收到的错误信息如下:
ValueError: The computed initial AR coefficients are not stationary. You should induce stationarity, choose a different model order, or you can pass your own start_params.
Q2:时间序列数据先升后降,如何处理?
Q3:然后我实施了网格搜索,通过使用训练数据首先找到最佳 (p, d, q) 参数。然后在 ARIMA 中使用这组参数来预测测试集中的数据。但是,当测试集中的数据具有不同的属性时,ARIMA 也会停止。例如,对于一个数据集,我从训练数据中得到 (0, 0, 2)。但是使用这组参数,我在用于预测测试集时收到以下错误消息。
ValueError: The computed initial MA coefficients are not invertible. You should induce invertibility, choose a different model order, or you can pass your own start_params.
处理此类问题的推荐方法是什么?
解决方案
推荐阅读
- python - 如何用“NA”填写两个列表之间的差异
- mstest - 如何在 TestCleanup 方法中获取 MSTest V2 TestContext 的实例?
- sql - 使用 CASE WHEN 分配桶
- jenkins - 如何使用 bitbucket webhook 包含凭据
- css - 如何使用 css 在 ReactJS 中将图像居中
- paypal - 使用客户端脚本在 Paypal 上捕获
- css - 如何在框阴影上正确隐藏选项卡?
- amazon-web-services - AWS DeepRacer 设置账户资源失败,不知道为什么
- reactjs - 如何在 Formik 文本字段上添加清除按钮
- java - 为什么jar找不到apache poi的org.xml.sax.driver?