请选择 进入手机版 | 继续访问电脑版
楼主: linjy2525
15137 7

[问答] ARIMA with drift是什么意思? [推广有奖]

  • 0关注
  • 1粉丝

大专生

46%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
663 点
帖子
59
精华
0
在线时间
27 小时
注册时间
2011-12-2
最后登录
2019-9-12

linjy2525 发表于 2012-5-30 17:51:15 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我在做ARIMA模型拟合的时候
用auto.arima
出来的结果是
ARIMA(1,1,1) with drift  
with drift是什么意思?带漂移?
对模型会有什么影响呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ARIMA 是什么意思 drift With ima 模型 影响

snoozer 发表于 2012-5-31 01:50:19 |显示全部楼层 |坛友微信交流群
这个解释比较详细。基本上,你可以将drift理解为这个time series 随时间有线性增长。

When fitting ARIMA models with R, a constant term is NOT included in the model if there is any differencing. The best R will do by default is fit a mean if there is no differencing [type ?arima for details]. What's wrong with this? Well (with a time series in x), for example:
arima(x, order = c(1, 1, 0))          # (1)
will not produce the same result as
arima(diff(x), order = c(1, 0, 0))    # (2)
because in (1), R will fit the model [with ∇x(s) = x(s)-x(s-1)]
  ∇x(t)= φ*∇x(t-1) + w(t)    (no constant)
whereas in (2), R will fit the model
  ∇x(t) = α + φ*∇x(t-1) + w(t).    (constant)
If there's drift (i.e., α is NOT zero), the two fits can be extremely different and using (1) will lead to an incorrect fit and consequently bad forecasts (see Issue 3 below).
If α is NOT zero, then what you have to do to correct (1) is use xreg as follows:
arima(x, order = c(1, 1, 0), xreg=1:length(x))    # (1+)
Why does this work? In symbols, xreg = t and consequently, R will replace x(t) with y(t) = x(t)-β*t; that is, it will fit the model
  ∇y(t)= φ*∇y(t-1) + w(t),
or
  ∇[x(t) - β*t] = φ*∇[x(t-1) - β*(t-1)] + w(t).
Simplifying,
  ∇x(t) = α + φ*∇x(t-1) + w(t) where α = β*(1-φ).
If you want to see the differences, generate a random walk with drift and try to fit an ARIMA(1,1,0) model to it. Here's how:
set.seed(1)           # so you can reproduce the results
v = rnorm(100,1,1)    # v contains 100 iid N(1,1) variates
x = cumsum(v)         # x is a random walk with drift = 1
plot.ts(x)            # pretty picture...

arima(x, order = c(1, 1, 0))         #(1)

   Coefficients:
           ar1
        0.6031
  s.e.  0.0793

arima(diff(x), order = c(1, 0, 0))   #(2)

  Coefficients:
           ar1  intercept  <-- remember, this is the mean of diff(x)
       -0.0031     1.1163      and NOT the intercept
  s.e.  0.1002     0.0897

arima(x, order = c(1, 1, 0), xreg=1:length(x))    #(1+)

  Coefficients:
            ar1  1:length(x)  <-- this is the intercept of the model
        -0.0031      1.1169      for diff(x)... got a headache?               
  s.e.   0.1002      0.0897
Let me explain what's going on here. The model generating the data is
x(t) = 1 + x(t-1) + w(t)
where w(t) is N(0,1) noise. Another way to write this is
[x(t)-x(t-1)] = 1 + 0*[x(t-1)-x(t-2)] + w(t)
or
∇x(t) = 1 + 0*∇x(t-1) + w(t)
so, if you fit an AR(1) to ∇x(t), the estimates should be, approximately, ar1 = 0 and intercept = 1.
Note that (1) gives the WRONG answer because it's forcing the regression to go through the origin. But, (2) and (1+) give the correct answers expressed in two different ways.

使用道具

linjy2525 发表于 2012-6-4 17:16:59 |显示全部楼层 |坛友微信交流群
snoozer 发表于 2012-5-31 01:50
这个解释比较详细。基本上,你可以将drift理解为这个time series 随时间有线性增长。

When fitting ARIM ...
谢谢

使用道具

围裙妈妈 发表于 2020-6-12 18:06:55 |显示全部楼层 |坛友微信交流群
请问这个drift项会影响预测吗?

使用道具

围裙妈妈 发表于 2020-6-12 21:04:47 |显示全部楼层 |坛友微信交流群
就是在未来的每一期都要加上这个drift项吗?

使用道具

肉桂松 发表于 2020-6-23 13:05:14 |显示全部楼层 |坛友微信交流群
应该是在ARIMA(p,d,q)中d+1去除这种趋势

使用道具

围裙妈妈 发表于 2020-6-27 10:59:27 |显示全部楼层 |坛友微信交流群
谢谢您的回复!请问为什么要去除这种趋势,去除之后的模型是最优模型吗?

使用道具

肉桂松 发表于 2020-6-23 13:05
应该是在ARIMA(p,d,q)中d+1去除这种趋势
您好!通过d+1去除趋势后的AIC并不是最小了,这还是最优模型吗?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 08:41