首页 > 解决方案 > 如何在 R 中构建以下模型

问题描述

我想在 R 中构建以下模型, Yt = A+B*Xt+Nt 其中 Xt 是时间,B 是趋势系数以及Nt = φNt-1+et φ残差和等白噪声的一阶自相关。

我尝试使用 gls 函数如下

fm <- gls(Y~1+T,correlation=corAR1(value=acf(Y,na.action=na.pass)$acf[2],form=~1),na.action=na.omit)

但我不完全确定它是否按照我想要的方式对残差进行建模。

此外,我想在我的结果中得到 Nt 和 et 的时间序列,以便计算 Nt (σΝ) 的方差。我将不胜感激任何帮助。谢谢

标签: rautoregressive-models

解决方案


使用 resid 得到你想要的。完整的代码

et=rnorm(100)
tt=1:length(et)
Nt=et[1]
for (i in 2:length(et))Nt[i]=0.6*Nt[i-1]+et[i]
Yt=100+3*tt+Nt
fm <- gls(Yt~1+tt,correlation=corAR1(value=acf(Yt,na.action=na.pass)$acf[2],form=~1),na.action=na.omit)
summary(fm)
res=resid(fm)
plot(ts(res))
lines(ts(Nt),col=3)
acf(resid(fm))
acf(Nt)

推荐阅读