gpt4 book ai didi

r - 模拟具有统一创新的 AR(1) 过程

转载 作者:行者123 更新时间:2023-12-01 13:41:15 25 4
gpt4 key购买 nike

我需要绘制一个 AR(1)过程图

y[k] = 0.75 * y[k-1] + e[k] for y0 = 1. 

假设 e[k]在区间 [-0.5, 0.5] 上均匀分布.

我正在尝试使用 arima.sim :
library(tseries)
y.0 <- arima.sim(model=list(ar=.75), n=100)
plot(y.0)

这似乎不正确。另外,如果 y[0] = 10,我要更改哪些参数? ?

最佳答案

我们想使用 R 基函数 arima.sim对于此任务,不需要额外的库。

默认情况下,arima.sim用创新产生 ARIMA ~ N(0,1) .如果我们想改变这个,我们需要控制rand.geninnov争论。例如,您想要来自均匀分布的创新 U[-0.5, 0.5] ,我们可以执行以下任一操作:

arima.sim(model=list(ar=.75), n=100, rand.gen = runif, min = -0.5, max = 0.5)

arima.sim(model=list(ar=.75), n = 100, innov = runif(100, -0.5, 0.5))

示例
set.seed(0)
y <- arima.sim(model=list(ar=.75), n = 100, innov = runif(100, -0.5, 0.5))
ts.plot(y)

enter image description here

如果我们想对 y[0] 进行显式控制,我们可以移动上述时间序列,使其从 y[0] 开始.假设 y0是我们想要的起始值,我们可以做到
y <- y - y[1] + y0

例如,从 y0 = 1 开始:
y <- y - y[1] + 1
ts.plot(y)

enter image description here

关于r - 模拟具有统一创新的 AR(1) 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39925470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com