首页 > 解决方案 > 这是否模拟了指定的时间序列?

问题描述

这主要是我是否正确编码的问题。我需要创建以下时间序列来回答有关它的问题:模拟一个 AR(2) 过程,其中 μ= 2,φ1= 1.2 和 φ2=−0.6 具有正态分布的白噪声,均值为 0 和方差 9. 为了生成这个过程,使用随机数生成种子 2172 和 n=200 的样本大小。

作业问题问我关于这个过程的一些事情,而且很简单,但我想确保我的代码在我继续之前实际上是在模拟它应该做的事情。

这是我所做的:

set.seed(2172) 
arima.sim(n=200, list(ar=c(1.2, -.6)), innov = rnorm(200, 0, 3)) + 2 

标签: rtime-series

解决方案


你问了一个好问题,我发现很少有好的答案。在函数的 R 文档中,它不是明确的。但我给你我的结果是基于罗尔夫特纳的这个答案。它说服了我:

http://r.789695.n4.nabble.com/AR-1-with-an-error-term-arima-sim-parameter-question-td4700642.html

解决方案是:

error.model = function(n){rnorm(n, sd=3)}
x = arima.sim(model = list(ar=c(1.2, -0.6)), n = 200, rand.gen = error.model) + 2

要检查订单,您可以使用pacf,问题是如何正确检查噪音,因为您有 AR。也许你可以用一个小样本来检查它,例如 t = 1, 2, 3, 4,然后检查你的结果。

祝你好运。


推荐阅读