首页 > 解决方案 > 模拟 AR (1) 模型

问题描述

我想模拟模型 在此处输入图像描述

我相信该arima.sim功能可以有效地做到这一点。如何使用arima.sim函数(或其他有效函数)在 R 中模拟这个?

我的尝试

假设我想为 rho=0.45 和 sigma_u^2=0.2 的模型生成 1000 个观测值,

arima.sim(n=1000,list(ar=0.45),rand.gen=rnorm, sd=sqrt(0.2))

问题是我不确定该命令是否完全按照上面的模型进行初始化。

标签: rsimulationautoregressive-models

解决方案


使用包rGARMA中的函数ts.extend

ts.extend您可以使用该包从任何固定高斯 ARMA 模型生成随机向量。这个包使用计算的随机向量的自相关矩阵直接从多元正态分布生成随机向量,因此它从精确分布中给出随机向量,并且不需要“老化”迭代。这是您指定的 AR(1) 模型的示例。

#Load the package
library(ts.extend)

#Set parameters
AR       <- 0.45
ERRORVAR <- 0.2
m        <- 1000

#Generate a random vector from this model
set.seed(1)
SERIES <- rGARMA(n = 1, m = m, ar = AR, errorvar = ERRORVAR)

#Plot the series using ggplot2 graphics
library(ggplot2)
plot(SERIES)

在此处输入图像描述


推荐阅读