[英]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:100
和y <- 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.