我想回答以下问题,我知道我可以使用arima.sim函数,但我不确定如何模拟被问到的模型:
我想要模拟以下内容:
yt =α+βt+φyt−1 +εt,εt∼IIDN(0,1)
时间: alpha=1、beta=0和theta=0.8
在每次模拟之前,我们应该将种子设置为100,000。假设初始值为y0=0,并获得500个观察值。我尝试了以下方法,但似乎不起作用:
set.seed(seed = 100000)
e <- rnorm(500)
m1 <- arima.sim(model = list(c(ma=0.8,alpha=1,beta=0)),n=500)我必须模拟4个不同的模型,4个不同的β,θ和alpha值。有什么建议吗?
提前谢谢。
发布于 2020-03-11 00:42:13
1. (α,β,φ)=(1,00.8)
set.seed(seed = 1232020)
e <- rnorm(500,mean=0,sd=1)
alpha <- 1
beta <- 0
theta <- 0.8
m_1 <- 0
for(i in 2:length(e)){
m_1[i] <- alpha+beta*i+theta*m_1[i-1]+e[i]
}我认为这应该能起到作用:)
发布于 2020-03-11 06:52:11
由于您在尝试中使用了arima.sim,因此这里有一个arima.sim选项:
set.seed(100000)
t <- 1:500
alpha <- 1
beta <- 0
theta <- 0.8
ts <- alpha + beta * t + arima.sim(list(ma = theta), n = length(t))自beta = 0以来,不存在确定性的时间依赖趋势,且该过程对应于均值alpha非零的MA(1)过程。
这种分解为确定性和随机性的项相当于将您的方程重写为

使用MA(1)过程

其中ϵ是i.i.d. N(0,1)的残差。
我们可以将数据可视化
library(forecast)
autoplot(ts)

https://stackoverflow.com/questions/60616297
复制相似问题