R:使用现有数据的参数生成季节性ARIMA时间序列模型

时间:2011-08-04 20:59:34

标签: r time-series

我有一个计数时间序列数据,我可以用它来确定基础随机过程的参数。例如,我说我有一个SARIMA(p,d,q)(P,D,Q)[S]季节性ARIMA模型。

如何使用它来生成新的计数时间序列数据集?

更具体:SARIMA(1,0,1)(1,0,0)[12] - 如何为每个月生成10年的时间序列? (即120分来估算'计数'的数量。)

2 个答案:

答案 0 :(得分:10)

使用simulate.Arima()包中的forecast。它处理季节性ARIMA模型,而arima.sim()则不处理。

然而,ARIMA模型不适用于计数时间序列,因为它们假设该过程是在整个实线上定义的。

答案 1 :(得分:0)

派对的后来者,但绝对是生成SARIMA (p,d,q)(P,D,Q)[S]模型而不对数据进行调节的理想解决方案,因为它会显着降低阈值。最近,SARIMA对象已添加到gmwm包中(免责声明:作者。)

此功能目前在GitHub包构建中,因此语法可能会更改。

示例生成代码:

# install.packages("devtools")

devtools::install_github("smac-group/gmwm")

# Set seed for reproducibility
set.seed(5532)

# Generate a SARIMA(1,0,1)(1,0,0)[12] 
mod = SARIMA(ar=.6, i = 0, ma=.3, sar = .5, si = 0, sma = 0, s = 12, sigma2 = 1)

# Generate the data
xt = gen_gts(1e3, mod)

# Try to recover parameters
arima(xt, order = c(1,0,1), seasonal = list(order = c(1,0,0), period = 12), include.mean = FALSE)

<强>输出:

Call:
arima(x = xt, order = c(1, 0, 1), seasonal = list(order = c(1, 0, 0), period = 12), 
    include.mean = F)

Coefficients:
         ar1     ma1    sar1
      0.5728  0.3117  0.5035
s.e.  0.0335  0.0371  0.0274

sigma^2 estimated as 1.008:  log likelihood = -1424.89,  aic = 2857.78

其他:在gmwm v3.0.0版本上更新此帖子。