楼主: 维兹
18893 3

[问答] arima.sim()函数详解以及和一步提前预测的关系 [推广有奖]

  • 7关注
  • 0粉丝

硕士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
482 个
通用积分
0.1271
学术水平
1 点
热心指数
2 点
信用等级
0 点
经验
2252 点
帖子
121
精华
0
在线时间
114 小时
注册时间
2014-7-6
最后登录
2018-12-12

5论坛币
求助
我想知道R里面的arima.sim()函数是怎么模拟出数据的?具体来说就是第一个数据怎么生成的?我猜测是这样的,不知道对不对?
  1. #x<-arima.sim(list(order=c(1,0,1),ar=0.8,ma=-0.2),n=100,sd=1)

  2. x=matrix(100,0,1)
  3. epsilon=rnorm(100,mean=0,sd=1)
  4. x[1]=epsilon[1]
  5. for (i in 2:100){
  6. x[i]=0.8*x[i-1]+epsilon[i]+0.2*epsilon[i-1]
  7. }
复制代码



据我所知,它的一步提前预测是这样的:
  1. xfit[i-1]=phix*x[(t-1)+(i-1)]-thetax*epsilon[i-1]
  2. epsilon[i]=x[i-1]-xfit[i-1]
  3.   
复制代码
在生成时间序列时和一步提前预测时的epsilon到底有什么区别和联系呢?
不知道我上面的理解是不是有问题,还请大家多多指教,谢谢

关键词:ARIMA Rim ima sim 不知道
沙发
舟~翁 发表于 2016-3-8 23:38:46 |只看作者 |坛友微信交流群
我也想知道。。。

使用道具

藤椅
邹雅洪 发表于 2021-12-2 15:58:37 |只看作者 |坛友微信交流群
我也特别想知道,直接定义一个n就可以了,好奇怪

使用道具

第一步貌似是从0开始的,也就是x0=0,然后在这个基础上模拟出x1,然后继续模拟x2, x3...所以在用arima.sim模拟的时候一般要切掉前15%的数据,这样模拟出来的序列更接近于真实的时间序列。而不是一个从0开始的序列

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 14:43