R 带自回归项的GLM用于校正序列相关性

R 带自回归项的GLM用于校正序列相关性,r,model,statistics,correlation,R,Model,Statistics,Correlation,我有一个平稳的时间序列,我想拟合一个带有自回归项的线性模型来校正序列相关性,即使用公式At=c1*Bt+c2*Ct+ut,其中ut=r*ut-1+et (ut是一个AR(1)项,用于校正误差项中的串行相关性) 有人知道在R中使用什么来建模吗 谢谢 卡尔你的链接功能是什么 你描述它的方式听起来像是带有自相关误差的基本线性回归。在这种情况下,一种选择是使用lm获得系数的一致估计值并使用 一般来说,我不确定GLM的最佳答案。该软件包将适合这些型号。如果您只想要一个带有高斯误差的线性模型,可以使用ari

我有一个平稳的时间序列,我想拟合一个带有自回归项的线性模型来校正序列相关性,即使用公式At=c1*Bt+c2*Ct+ut,其中ut=r*ut-1+et

(ut是一个AR(1)项,用于校正误差项中的串行相关性)

有人知道在R中使用什么来建模吗

谢谢
卡尔

你的链接功能是什么

你描述它的方式听起来像是带有自相关误差的基本线性回归。在这种情况下,一种选择是使用
lm
获得系数的一致估计值并使用


一般来说,我不确定GLM的最佳答案。

该软件包将适合这些型号。如果您只想要一个带有高斯误差的线性模型,可以使用
arima()
函数来实现,其中协变项通过
xreg
参数指定。

在R中有几种方法可以实现这一点。下面是使用R附带的两个示例

arima()
函数包含在R中的包:stats中。该函数采用的参数形式为
order=c(p,d,q)
,您可以在其中指定自回归、积分和移动平均分量的顺序。在你的问题中,你建议你创建一个AR(1)模型来修正错误中的一阶自相关,就这样。我们可以使用以下命令执行此操作:

arima(安全带[,“驾驶员”],顺序=c(1,0,0),
xreg=安全带[,c(“公里数”、“石油价格”、“法律”)])
order的值指定我们需要AR(1)模型。xreg组件应该是我们希望作为回归的一部分添加的一系列其他X。输出看起来有点像侧面打开的
summary.lm()
的输出

对于拟合回归模型的方式,另一种更为熟悉的方法是在中使用
gls()
。以下代码将安全带时间序列对象转换为数据帧,然后提取并添加一个新列(t),该列仅为已排序时间序列对象中的计数器:

Seatbelts.df <- data.frame(Seatbelts)
Seatbelts.df$t <- 1:(dim(Seatbelts.df)[1])

以“相关性”开头的行是将ARMA相关性结构传递给GLS的方式。结果不会完全相同,因为默认情况下,
arima()
使用最大似然估计模型,而
gls()
使用受限最大似然。如果将
method=“ML”
添加到对
gls()
的调用中,您将得到与上述ARIMA函数相同的估计值。

已从CRAN存储库中删除了GLMMarp包。你知道还有其他的软件包可以做到这一点吗?我知道的所有软件包都列在
library(nlme)
m <- gls(drivers ~ kms + PetrolPrice + law,
         data=Seatbelts.df,
         correlation=corARMA(p=1, q=0, form=~t))
summary(m)