当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R arima.sim 从 ARIMA 模型进行模拟


R语言 arima.sim 位于 stats 包(package)。

说明

从 ARIMA 模型进行模拟。

用法

arima.sim(model, n, rand.gen = rnorm, innov = rand.gen(n, ...),
          n.start = NA, start.innov = rand.gen(n.start, ...),
          ...)

参数

model

包含组件 ar 和/或 ma 的列表,分别给出 AR 和 MA 系数。可以选择使用组件order。空列表给出 ARIMA(0, 0, 0) 模型,即白噪声。

n

输出系列的长度,在un-differencing之前。严格的正整数。

rand.gen

可选:产生创新的函数。

innov

可选的时代系列创新。如果未提供,则使用rand.gen

n.start

‘burn-in’周期的长度。如果是 NA (默认值),则会计算合理的值。

start.innov

用于 burn-in 期间的可选创新时间序列。如果提供,则必须至少有 n.start 值(默认情况下,n.start 在函数内部计算)。

...

rand.gen 的附加参数。最有用的是,rnorm 生成的创新的标准差可以由 sd 指定。

细节

有关 ARIMA 模型的精确定义,请参阅arima

检查 ARMA 模型的平稳性。

ARIMA 模型通过 modelorder 组件指定,方式与 arima 相同。 order 组件的其他方面被忽略,但检测到 MA 和 AR 阶数不一致的规范。 un-differencing 假定先前的值为零,为了提醒用户这一点,将返回这些值。

‘burn-in’周期的随机输入是通过调用 rand.gen 生成的。

"ts" 的时间序列对象。

例子

require(graphics)

arima.sim(n = 63, list(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488)),
          sd = sqrt(0.1796))
# mildly long-tailed
arima.sim(n = 63, list(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488)),
          rand.gen = function(n, ...) sqrt(0.1796) * rt(n, df = 5))

# An ARIMA simulation
ts.sim <- arima.sim(list(order = c(1,1,0), ar = 0.7), n = 200)
ts.plot(ts.sim)

也可以看看

arima

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Simulate from an ARIMA Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。