在 GAMs 模型中添加移动平均组件
Adding an Moving Average component in GAMs model
我有一个简单的模型,其残差表现出超过一阶的自相关性。
我有一个简单的模型,我想在其中包含高达三阶的移动平均分量。
我的模型是这样的:
m1<-gamm(y~s(x,k=5), data = Training)
y 的时间序列属性表明它遵循 ARMA(0,0,3)
因为 m1
的残差是自相关的,所以我想在 m1
中包含一个移动平均分量
类似问题的答案只讲了一个AR(1)过程,我的不是。
为此,您可以使用包 nlme 中的 corARMA(p, q)
函数。 corAR1(p)
只是一个特例函数,因为该特定模型具有一定的效率。
您必须通过 q
and/or p
来获取 ARMA(p, q) 过程的顺序,p
指定 AR 项的顺序和q
MA 项的顺序。您还需要传入一个对观察结果进行排序的变量。假设您有一个时间序列并且您希望 MA 过程在整个时间序列级别运行(而不是说在几年内但不是之间)那么您应该创建一个 time
变量来索引观察的顺序;这里我假设这个变量叫做 time
.
那么调用是:
m1 <- gamm(y ~ s(x, k = 5), data = Training,
correlation = corARMA(q = 3, form = ~ time))
查看残差时,一定要提取归一化残差,因为它们将包括估计的 MA 过程的影响:
resid(m1, type = "normalised")
我有一个简单的模型,其残差表现出超过一阶的自相关性。
我有一个简单的模型,我想在其中包含高达三阶的移动平均分量。
我的模型是这样的:
m1<-gamm(y~s(x,k=5), data = Training)
y 的时间序列属性表明它遵循 ARMA(0,0,3)
因为 m1
的残差是自相关的,所以我想在 m1
类似问题的答案只讲了一个AR(1)过程,我的不是。
为此,您可以使用包 nlme 中的 corARMA(p, q)
函数。 corAR1(p)
只是一个特例函数,因为该特定模型具有一定的效率。
您必须通过 q
and/or p
来获取 ARMA(p, q) 过程的顺序,p
指定 AR 项的顺序和q
MA 项的顺序。您还需要传入一个对观察结果进行排序的变量。假设您有一个时间序列并且您希望 MA 过程在整个时间序列级别运行(而不是说在几年内但不是之间)那么您应该创建一个 time
变量来索引观察的顺序;这里我假设这个变量叫做 time
.
那么调用是:
m1 <- gamm(y ~ s(x, k = 5), data = Training,
correlation = corARMA(q = 3, form = ~ time))
查看残差时,一定要提取归一化残差,因为它们将包括估计的 MA 过程的影响:
resid(m1, type = "normalised")