ARIMA模型中的三个参数(p, d, q)都是什么意思?

  统计/机器学习 时间序列    浏览次数:25467        分享
5

这三个数分别有什么具体的含义?能举例说明就更好了!谢谢!

 

Gakki   2017-03-12 03:09



   1个回答 
10

ARIMA(p,d,q)模型中

p是自回归(AR)的项数,用来获取自变量

d是差分(I)的系数,为了使时间序列平稳

q是移动平均(MA)的项数,为了使其光滑


举个例子,假如原来的时间序列是

T Y

1 20

2 22

3 25

4 30

5 40

6 50

7 65

8 88

9 112

10 120

11 115

12


我们先添加自回归项。自回归的意思就是用之前的p个数值当作自变量。若p=2,

T Y X_1 X_2

1 20 \ \

2 22 20 \

3 25 22 20

4 30 25 22

5 40 30 25

6 50 40 30

7 65 50 40

8 88 65 50

9 112 88 65

10 120 112 88

11 115 120 112

12 115 120


下面我们对自变量和应变量做差分。差分的意思就是后一行减前一行。d=1的意思,我们做一次差分。

T Y X_1 X_2

1 20* \ \

2 2 \ \

3 3 2 \

4 5 3 2

5 10 5 3

6 10 10 5

7 15 10 10

8 23 15 10

9 24 23 15

10 8 24 23

11 -5 8 24

12 -5 8

d=2的意思就是再上面的基础上再做一次差分。

T Y X_1 X_2

1 \ \ \

2 2* \ \

3 1 \ \

4 2 1 \

5 5 2 1

6 0 5 2

7 5 0 5

8 8 5 0

9 1 8 5

10 -16 1 8

11 -13 -16 1

12 -13 -16


下面再对每一列取移动平均数。q是移动平均的项数,意思每一行被自身和自身之前的q-1行的平均数取代。例如q=2,

T Y X_1 X_2

1 \ \ \

2 \ \ \

3 \ \ \

4 1.5 \ \

5 3.5 1.5 \

6 2.5 3.5 1.5

7 2.5 2.5 3.5

8 6.5 2.5 2.5

9 4.5 6.5 2.5

10 -7.5     4.5 6.5

11 -14.5 -7.5     4.5

12 -14.5 -7.5


下面就是提取出有数据的6到11行,把X_1, X_2当成自变量,Y当成应变量,用线性回归来预测第12行。最后记得把预测出来的结果用逆差分还原回去。

SofaSofa数据科学社区DS面试题库 DS面经

雷猴   2017-03-13 05:14

d是怎么选的?怎么判断进行了d次差分之后已经平稳了呢? - 小齐   2017-03-14 12:53
请问在做差分的过程中,会损失信息吗 - dzzxjl   2018-04-03 19:05


  相关讨论

怎么判断一个时间序列是平稳的?

如何判断时间序列的周期性?

python中如何修改时间戳变量里的小时?

怎么在python中获取昨天的日期的字符串?

python两个日期,求间隔的天数

怎么把datetime类型转为字符串类型,但只保留日期

fbprophet.Prophet里的growth='linear'和growth='logistic'有什么区别?

datetime模块里的datetime.combine什么用?

求助,按照百度的方法从日期提取年龄出现错误了

python如何对日期做遍历?有没有类似range的函数?

  随便看看

python或者numpy求数值的中位数、四分位数

为什么神经网络模型不用交叉验证?

条件概率证明P(a,b|c) > P(a,b)

随机平均梯度法(Stochasitc Average Gradient)和随机梯度下降(SGD)有什么区别

如何在numpy array尾部增加一行