如何使用 arima.sim 进行漂移、截距和趋势模拟

机器算法验证 有马 模拟 趋势
2022-02-28 19:25:27

我正在使用 arima.sim 来模拟数据。我想在模拟中引入截距常数漂移和趋势,我不知道怎么做

1个回答

确定性趋势

如果您的漂移截距为,您只需将函数添加到零均值过程。cct

代码:

xt <- arima.sim(n=50, list(order=c(1,0,1), ar = c(.9), ma = -.2))

变成

xtWithDrift <- xt + .20*seq(1,50))

模型可以写成

Xt=ϕXt1+Zt+θZt1Yt=a+ct+Xt.

随机趋势

如果你想要一个随机趋势,你最好模拟差异,然后将它们相加。具有非随机起点,例如:

startSpot <- 3
yt <- arima.sim(n=50, list(order=c(1,0,1),ar=c(.9), ma=-.2)) + .2 #see comment below
plot(startSpot + cumsum(yt))

这给你 其中是 ARMA(1,1)。是 ARIMA(1,1,1)。或者换句话说, 其中

Xt=3+j=1tYt
YtXt
(1ϕB)(Yt.2)=(1+θB)Zt,
Yt=XtXt1