arima.sim
为了达到稳定状态,有一个“老化”期。争论n.start
设置这个周期的长度,并且必须有lengthar
+ ma
。为AR(1)
过程,n.start
必须至少为 1。请注意,如果您不指定n.start
, arima.sim
会自动为您计算出一个合理的值。
Given n.start
(指定的或自动计算的),arima.sim
然后随机抽样n.start
“老化”的创新。这是正确的,因为这个随机过程,你会在一次运行中得到不同的结果:
## innovations of length 6
et <- c(-1.2138662, -0.2854597, 0.5902700, 0.8285463, -0.9954260, -0.3716332)
set.seed(0)
arima.sim(list(order = c(1,0,0), ar = 0.55), n = 6, innov = et, n.start = 1)
#[1] -0.5192413 -0.5710424 0.2761967 0.9804545 -0.4561760 -0.6225300
set.seed(1)
arima.sim(list(order = c(1,0,0), ar = 0.55), n = 6, innov = et, n.start = 1)
# [1] -1.55841580 -1.14258839 -0.03815361 0.80756181 -0.55126700 -0.67483005
我们可以通过使用以下方法提供一系列起始创新来消除这种随机性:start.innov
争论。注意,这个向量必须有长度n.start
:
## fixing starting innovation at 0; i.e., `y[0] = 0`, so `y[1] = et[1]`.
arima.sim(list(order = c(1,0,0), ar = 0.55), n = 6, innov = et, n.start = 1,
start.innov = 0)
# [1] -1.21386620 -0.95308611 0.06607264 0.86488625 -0.51973856 -0.65748941
现在,比较最后一个arima.sim
具有以下内容:
y <- rep(NA, 6)
y[1] <- et[1]
y[2] <- 0.55 * y[1] + et[2]
y[3] <- 0.55 * y[2] + et[3]
y[4] <- 0.55 * y[3] + et[4]
y[5] <- 0.55 * y[4] + et[5]
y[6] <- 0.55 * y[5] + et[6]
# [1] -1.21386620 -0.95308611 0.06607264 0.86488625 -0.51973856 -0.65748941
我们的一切都是完全可复制的。
以上生成零均值时间序列;如果你想要平均值为 3,请将结果移动+3
你自己:
y <- y + 3