我正在尝试使用 ARIMA
对时间序列进行建模。我的数据框中有两列:monthlydate
和 sells
。
time sell
1/31/2014 273033
2/29/2014 203019
3/31/2014 225844
4/30/2014 236374
5/31/2014 189666
6/30/2014 242742
7/31/2014 191682
8/31/2014 208270
9/30/2014 236533
10/31/2014 188010
11/30/2014 245185
12/31/2014 224990
1/31/2015 186733
2/28/2015 296641
3/31/2015 234317
4/30/2015 160818
5/31/2015 214937
6/30/2015 226710
7/31/2015 176030
8/31/2015 160991
9/30/2015 205668
10/31/2015 183680
11/30/2015 194428
12/31/2015 643302
1/31/2016 1306566
2/28/2016 2031110
3/31/2016 1756328
4/30/2016 1703885
5/31/2016 1620547
6/30/2016 1862650
7/31/2016 1742188
8/31/2016 1441375
9/30/2016 1666798
10/31/2016 1992165
11/30/2016 1965643
12/31/2016 1315753
1/31/2017 1676141
2/28/2017 1572417
3/31/2017 1442843
4/30/2017 1337359
5/31/2017 1350256
6/30/2017 1090291
7/31/2017 1329138
8/31/2017 1245024
9/30/2017 1246177
10/31/2017 1361814
11/30/2017 1574517
12/31/2017 1035892
1/31/2018 1358912
2/29/2018 1408371
3/31/2018 1239371
4/30/2018 874519
5/31/2018 1025873
在运行 ARIMA 模型之前,我需要弄清楚 ARIMA(p,d,q)
等参数需要三个参数,并且传统上是手动配置的。
我开始在 python 中绘制 ACF
和 PACF
图,这是输出。我无法理解它表示什么以及我们如何使用此图来构建 ARIMA
模型?
自回归直觉考虑由滞后为 k 的自回归 (AR) 过程生成的时间序列。
我们知道 ACF 描述了先前时间步的一个观测值与另一个观测值之间的自相关性,其中包括直接和间接依赖信息。
这意味着我们预计 AR(k) 时间序列的 ACF 对于滞后 k 而言较强,并且该关系的惯性将延续到后续的滞后值,并在某个点随着效果被削弱。
我们知道 PACF 仅描述观测值与其滞后之间的直接关系。这表明超过 k 的滞后值不存在相关性。
很难理解。能用通俗语言解释一下吗?
如何解释上面的图? 如何使用 python 找到最佳 p,d,f 参数?
最佳答案
如果您想使用 ACF 和 PACF 来确定滞后长度,您需要根据 PACF 的截止值选择 AR 项,并根据 ACF 的截止值选择 MA 项。不过您必须小心不要选择太多 AR 和 MA 术语。
类似的问题已经得到解答here和 here 。用好免费online resource .
查找 ARIMA 参数的另一种方法是使用信息标准
import statsmodels.api as sm
result = {}
for p in range(5):
for q in range(5):
arma = sm.tsa.ARIMA(y, order=(p,0,q))
arma_fit = arma.fit()
result[(p,q)] = arma_fit.aic
p,q = min(result, key=result.get)
关于python-3.x - 如何使用 Python 解释自相关和偏自相关图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62783633/