首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中模拟时间序列模型

在R中模拟时间序列模型
EN

Stack Overflow用户
提问于 2020-03-10 19:03:15
回答 2查看 2.5K关注 0票数 0

我想回答以下问题,我知道我可以使用arima.sim函数,但我不确定如何模拟被问到的模型:

我想要模拟以下内容:

yt =α+βt+φyt−1 +εt,εt∼IIDN(0,1)

时间: alpha=1、beta=0和theta=0.8

在每次模拟之前,我们应该将种子设置为100,000。假设初始值为y0=0,并获得500个观察值。我尝试了以下方法,但似乎不起作用:

代码语言:javascript
复制
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值。有什么建议吗?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-11 00:42:13

1. (α,β,φ)=(1,00.8)

代码语言:javascript
复制
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]
}

我认为这应该能起到作用:)

票数 0
EN

Stack Overflow用户

发布于 2020-03-11 06:52:11

由于您在尝试中使用了arima.sim,因此这里有一个arima.sim选项:

代码语言:javascript
复制
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)的残差。

我们可以将数据可视化

代码语言:javascript
复制
library(forecast)
autoplot(ts)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60616297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档