AR(2) 模拟 arima.sim()
AR(2) simulation with arima.sim()
我正在尝试了解 arima.sim
的工作原理。我模拟了一个 AR(2) 过程并手动计算了这些值。如果我指定 2 个起始创新,那么很清楚 arima.sim
如何计算第三个值等等。但我不清楚函数如何计算前两个值。这是一个最小的工作示例。
Phi<-c(0.2,0.5)
n.start<-length(Phi)
model<-list(ar=Phi)
n<-10
start.innov<-c(1,4)
set.seed(1121)
innov<-rnorm(n=10)
arsim12<-arima.sim(model=model,n.start=n.start,n=n,start.innov=start.innov,innov=innov)
很清楚第三个观察值是如何计算的(以及第四个和第五个……)
arsim12[3]
[1] 1.462733
sum(rev(Phi)*arsim12[1:2])+innov[3]
[1] 1.462733
我希望时间序列中的第一个观察值能够以类似的方式计算,基于 start.innov:
sum(rev(Phi)*start.innov)+innov[1]
[1] 1.444958
但这与第一次观察不同:
arsim12[1]
[1] 1.484958
有什么见解吗?
时间序列是这样生成的:
e <- c(start.innov, innov)
x <- filter(e, Phi, "recursive")
然后删除前 n.start
个值。
x
满足:
x[i] = Phi[1] * x[i - 1] + Phi[2] * x[i - 2] + e[i]
是的,这只是标准的 AR(2),但如果 x[i - 1]
和 x[i]
由负数或零索引,它们给出 0(最初是 NA绑定索引但重新编码为 0)。这样,我们看到
x[1] = e[1] = 1
x[2] = Phi[1] * x[1] + e[2] = 4.2
x[3] = Phi[1] * x[2] + Phi[2] * x[1] + e[3] = 1.484958
......
最后:
arsim12 <- x[3:12]
作为比较,您的计算假设第一个值来自 MA(2)
,而不是 AR(2)
:
x[3] = Phi[1] * e[2] + Phi[2] * e[1] + e[3] = 1.444958
我正在尝试了解 arima.sim
的工作原理。我模拟了一个 AR(2) 过程并手动计算了这些值。如果我指定 2 个起始创新,那么很清楚 arima.sim
如何计算第三个值等等。但我不清楚函数如何计算前两个值。这是一个最小的工作示例。
Phi<-c(0.2,0.5)
n.start<-length(Phi)
model<-list(ar=Phi)
n<-10
start.innov<-c(1,4)
set.seed(1121)
innov<-rnorm(n=10)
arsim12<-arima.sim(model=model,n.start=n.start,n=n,start.innov=start.innov,innov=innov)
很清楚第三个观察值是如何计算的(以及第四个和第五个……)
arsim12[3]
[1] 1.462733
sum(rev(Phi)*arsim12[1:2])+innov[3]
[1] 1.462733
我希望时间序列中的第一个观察值能够以类似的方式计算,基于 start.innov:
sum(rev(Phi)*start.innov)+innov[1]
[1] 1.444958
但这与第一次观察不同:
arsim12[1]
[1] 1.484958
有什么见解吗?
时间序列是这样生成的:
e <- c(start.innov, innov)
x <- filter(e, Phi, "recursive")
然后删除前 n.start
个值。
x
满足:
x[i] = Phi[1] * x[i - 1] + Phi[2] * x[i - 2] + e[i]
是的,这只是标准的 AR(2),但如果 x[i - 1]
和 x[i]
由负数或零索引,它们给出 0(最初是 NA绑定索引但重新编码为 0)。这样,我们看到
x[1] = e[1] = 1
x[2] = Phi[1] * x[1] + e[2] = 4.2
x[3] = Phi[1] * x[2] + Phi[2] * x[1] + e[3] = 1.484958
......
最后:
arsim12 <- x[3:12]
作为比较,您的计算假设第一个值来自 MA(2)
,而不是 AR(2)
:
x[3] = Phi[1] * e[2] + Phi[2] * e[1] + e[3] = 1.444958