基于W. Wei教材模拟AR(1)过程:如何纳入高斯白噪声?
模拟AR(1)过程时的高斯白噪声处理(基于W. Wei《时间序列分析》)
核心结论
arima.sim()函数默认就使用高斯白噪声生成AR模型的扰动项,你之前的代码其实已经包含了高斯白噪声,只是无需显式声明。
AR(1)模型与白噪声的关系
W. Wei书中的AR(1)标准形式为:
$X_t = \phi X_{t-1} + \epsilon_t$
其中$\epsilon_t$是均值为0、方差为$\sigma^2$的高斯白噪声,这正是arima.sim()的默认扰动项类型。
自定义高斯白噪声的参数
如果需要匹配书中示例的白噪声方差(而非默认的方差1),可以手动生成白噪声序列并传入:
- 用
rnorm()生成指定均值、方差的高斯白噪声:set.seed(123) # 固定随机种子,保证结果可复现 # 生成250个均值0、方差0.8的高斯白噪声(sd是标准差,即sqrt(方差)) epsilon <- rnorm(n = 250, mean = 0, sd = sqrt(0.8)) - 将自定义白噪声传入
arima.sim()的innov参数:# 模拟AR(1)过程,自回归系数为-0.65 ar1_sim <- arima.sim(list(ar = -0.65), n = 250, innov = epsilon)
代码简化说明
你原代码中的list(c(1,0,0), ar=-.65)可以简化为list(ar = -0.65),因为函数会根据ar参数的长度自动识别这是AR(1)(即(1,0,0))模型,两种写法效果完全一致。
内容的提问来源于stack exchange,提问作者Dollar X
相关产品推荐
相关产品推荐

