首页 > 解决方案 > 使用 R 模拟 ARMA 模型

问题描述

我的教授和我对时间序列分析不熟悉,他们R正在尝试模拟 ARMA 模型。但是,我们很难理解时间序列模拟的参数来自哪里。在R使用arima.sim()函数模拟 ARMA 模型时,函数中需要的一个参数是 model =,它是一个列表,其中组件 ar 和 ma 分别给出 AR 和 MA 系数。我们遇到的问题是我们不知道这些 AR 和 MA 系数来自哪里。有人会碰巧知道系数是从哪里来的吗?

我曾尝试在互联网上搜索有关此问题的信息。但是,我看到的唯一答案是系数来自运行 ACF 和 PACF。不过,对于我们运行 ACF 和 PACF 来生成这些系数的原因,还没有进一步的解释。我们是在以前模拟的数据上运行 ACF 和 PACF 还是其他什么?

AR(1) 模型示例代码

Ar.sm <- list(order = c(1,0,0), ar = 0.1, sd = 0.1)
Ar.lg <- list(order = c(1,0,0), ar = 0.1, sd = 0.1)

AR1.sm <- arima.sim(model = Ar.sm, n = 50)
AR1.lg <- arima.sim(model = Ar.lg, n = 50)

任何帮助将不胜感激。此外,如果有人找到任何文献或视频更深入地解释这一点,那就太好了。谢谢你,祝你有美好的一天。

标签: r

解决方案


ARMA 模型实际上是一类模型,通过使用不同的参数可以得到不同的模型。如果您使用的是 ARMA(p,q) 模型,那么这意味着您有 p 个自回归 (AR) 项和 q 个移动平均 (MA) 项。模型中的 AR 和 MA 系数设置了这些项的大小。如果您只是模拟一个模型(而不是从数据中进行推断),那么您可以将系数设置为您想要模拟的任何值。您是正确的,不同的系数值会给出与 ACF 和 PACF 密切相关的不同类型的结果。

由于您正在模拟,我是否建议您尝试使用您选择的系数来模拟一些示例,并改变您在模拟中输入的系数以查看您得到的差异。对于您构建模拟数据的样本 ACF 和 PACF 也是一个有用的练习,并查看它们在您更改进入模拟的系数值时如何变化。这将使您更好地了解系数与模型输出之间的联系。


推荐阅读