在R中的arima.sim中初始化

时间:2014-11-01 11:35:26

标签: r time-series

我想从ARMA(1,2)系列中进行模拟。我需要初始化$ X_0 $ = 9.如何在R中执行此操作?我在arima.sim

中找不到任何初始化规定

1 个答案:

答案 0 :(得分:3)

您可以使用传递给start.innov的参数n.startinnovstats:arima.sim的正确组合来获取它。

对于参数为phi的AR流程,很容易看出以下产生的第一个模拟值等于$ X_0 = 9 $。

n <- 50
phi <- 0.5
x0 <- 9
set.seed(123)
arima.sim(n, model=list(ar=phi), start.innov=x0/phi, n.start=1, 
  innov=c(0,rnorm(n-1)))
#  [1]  9.00000000  3.93952435  1.73958469  2.42850066  1.28475872  0.77166710
#  [7]  2.10089853  1.51136547 -0.50937850 -0.94154210 -0.91643302  0.76586529
# [13]  0.74274647  0.77214469  0.49675506 -0.30746361  1.63318133  1.31444115
# ...

对于ARMA(1,2)你应该做数学,例如我找到了以下组合 对于下面使用的参数:

set.seed(123)
arima.sim(n=50, model=list(ar=0.5, ma=c(0.4, 0.2)), start.innov=c(0,0,10), 
  n.start=3, innov=c(rep(0,3),rnorm(47)))
#  [1]  9.00000000  6.50000000  3.25000000  1.06452435  0.07789443  1.39348940
#  [7]  1.34470092  1.14158321  2.35167337  2.34863643  0.43663646 -0.88237587
# [13] -1.41460329  0.20114479  0.86088655  1.21995661  0.95293237  0.04505243
# ...