gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:24 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com