python - 时间序列数据框 python 上的 ARIMA 建模

标签 python python-3.x time-series arima

我正在尝试使用 ARIMA 模型进行预测。我是新手。我试图绘制我的数据集(每小时数据)的 seasonal_decompose(),下面是绘图?

enter image description here

我想了解这些情节,简短的描述会有所帮助。我看到最初没有趋势,一段时间后出现上升趋势。我不确定我说的对不对?我想了解如何正确阅读这些图表。请给出一些好的描述。

当我尝试应用 Dickey-Fuller 检验来检查我的数据是否平稳以及是否需要进一步求差时,我得到了以下结果:

Test Statistic                   -4.117543
p-value                           0.000906
Lags Used                       30.000000
Number of Observations Used    4289.000000
Critical Value (1%)              -3.431876
Critical Value (5%)              -2.862214
Critical Value (10%)             -2.567129

我指的是 2 个链接来理解这一点: http://www.seanabu.com/2016/03/22/time-series-seasonal-ARIMA-model-in-python/

这个链接是说当test-statistic大于critical value时,说明数据是平稳的;另一方面,另一个链接反之亦然。我对此感到困惑,我也提到了 otexts.org,它说我们应该根据 p 值进行检查。请建议我如何解释 ADF 测试给出的结果?

此外,当我尝试在数据集上应用 ARIMA 模型时:

from statsmodels.tsa.arima_model import ARIMA
model = ARIMA(df.y, order=(0,1,0))
model_fit = model.fit()

我的数据框有日期时间列作为索引,y 列有浮点值。当我在此数据框上应用模型时。我收到此类错误:

IndexError: list index out of range.

当我尝试使用打印模型摘要时出现此错误:

print(model_fit.summary())

请帮我解决这个问题。这样我就可以更好地理解 ARIMA。

最佳答案

ARIMA(自回归积分移动平均)时间序列的交叉验证:K 折交叉验证不适用于时间序列。相反,使用回测技术,如 walk-forwardrolling windows .

自回归的 K 折交叉验证:虽然交叉验证(通常)对时间序列 (ARIMA) 模型无效,但只要所考虑的模型具有不相关的错误,并且您已经使用 Ljung Box Test 对其进行了测试,用于时间序列用例中的 XAI(可解释人工智能)。

有一些 Python 统计库可以使用这些方法,这里有两个:Python Stats TestsPython StatsModels .

要获得值的差异,您可以简单地使用 Python 3.6+ PEP 487 Descriptors 强制执行 int8 ,您可以在其中强制执行始终返回 int8 的类型列表,以加快计算速度 (list : list -> list of ints):

list_a = [1,2,3]
list_b = [2,3]
print(set(list_a).difference(set(list_b)))
`answer is` set([1])

关于python - 时间序列数据框 python 上的 ARIMA 建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45003158/

相关文章:

python - 在 Python 中屏蔽 pandas 数据框上的多列

algorithm - 比较海量数据的最佳算法

python - Python 3.2 上的 PDF 生成

python-3.x - 制作不同颜色的线图标记

r - na.fail.default(as.ts(x)) : missing values in object in time series forecasting 中的错误

R 的 'zoo' 包的 Python 等价物

python - 优化代码以查找 DataFrame 中每一行过去 4 到 6 天的值的中值

python - 如何从数据文本文件中为 caffe 创建 mean.binaryproto?

python - 在同一个图上绘制两个不同的数据框

javascript - 桥接 Python 后端和 JavaScript 前端