繁体   English   中英

如何在 R 中创建移动平均线 model?

[英]How do I create an moving average model in R?

我正在对某个数据集进行分析,在查看数据时,我注意到 PACF 没有任何重要的值(当然除了第一个),而自相关函数 (ACF) 的值大部分都很重要。 所以,我决定创建一个 MA model(因为 ACF 的值很重要),但是我不确定如何在 R 中执行此操作,以及如何确定 Z05B8C7352706FFB2F4DE4C1 的大小。

下面的就够了吗?

arima(time-series_object, order = c(0,0,1))

同样,给定一个 ACF 图,我们应该如何决定我们应该使用什么 MA(例如 (0,0,1)、(0,1,1) 等)?

在 R 中创建移动平均线的方法有很多,我个人总是使用filter()在普通的 R 中做到这一点,只是因为我看到了正在发生的事情。 假设您的数据存储在两个向量x <- 1:100y <- sin(x/10) + rnorm(100,sd=.1)中。

如果 window 长度为 10,则移动平均计算的一种方法是平均当前值及其 9 个先前值:

f <- rep(1/10, 10)
z <- filter(y, f, sides=1)

现在,您的平滑值为z 您将看到z从 9 个NA值开始,因为前 9 个步骤您还没有足够的值来平均。

拥有一个最小的可重现数据集将有助于回答您问题的第二部分:

[如何] 我们决定 [...] 我们应该使用什么 MA(例如(0,0,1), (0,1,1)等)?

有关的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM