【问题标题】:Adding an Moving Average component in GAMs model在 GAMs 模型中添加移动平均线组件
【发布时间】:2019-06-12 12:48:43
【问题描述】:

我有一个简单的模型,其残差表现出超过一个阶数的自相关。

我有一个简单的模型,我想为其包含一个高达三阶的移动平均分量。

我的模型是这样的:

m1<-gamm(y~s(x,k=5), data = Training)

y 的时间序列属性,表明它遵循 ARMA(0,0,3)

因为m1 的残差是自相关的,我想在m1 中包含一个移动平均分量

类似问题的答案仅涉及 AR(1) 过程,这不是我的情况。

【问题讨论】:

    标签: r time-series gam mgcv autocorrelation


    【解决方案1】:

    您可以为此使用包nlme 中的corARMA(p, q) 函数。 corAR1(p) 只是一个特例函数,因为该特定模型具有一定的效率。

    您必须通过 q 和/或 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")
    

    【讨论】:

    • 你知道我在哪里可以看到这个包做了什么样的转换来解释自相关?我找到的所有文档都描述了这些功能。不想那样。我对数学阐述很感兴趣。
    • 最好的办法是阅读 nlme 包支持的书中的部分:link.springer.com/book/10.1007/b98882 本质上,这是估计模型残差的相关矩阵,其中相关矩阵的元素由估计的 ARMA(p,q) 过程。
    猜你喜欢
    • 2019-07-13
    • 2017-09-01
    • 2013-12-22
    • 2023-03-12
    • 1970-01-01
    • 2016-05-16
    • 2018-05-17
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多