在R中拟合多元线性回归:自相关残差


11

我正在尝试使用以下方程式估算R中的多元线性回归:

regr <- lm(rate ~ constant + askings + questions + 0)

问和问题是按季度构建的季度数据时间序列askings <- ts(...)

现在的问题是我得到了自相关残差。我知道可以使用gls函数拟合回归,但是我不知道如何识别必须在gls函数中实现的正确的AR或ARMA错误结构。

我现在尝试再次估算,

gls(rate ~ constant + askings + questions + 0, correlation=corARMA(p=?,q=?))

但是很遗憾,我既不是R专家也不是统计学专家来确定p和q。

如果有人可以给我一个有用的提示,我将很高兴。提前非常感谢您!

Answers:


8

尝试

library(forecast)
fit <- auto.arima(rate, xreg=cbind(askings,questions))

这将适合线性模型,就像将自动识别错误的ARMA结构一样。它使用MLE而不是GLS,但它们在渐近性上等效。


这很有帮助。
Olga Mu

3

如果要进行预测,则可以在参数上拟合一系列模型:

expand.grid(p = 1:P, q = 1:Q)

其中PQ是您希望包括的最大AR(p)和MA(q)项,并选择由BIC确定的最佳拟合模型。

auto.arima()打包中的预测将对此有所帮助,但可以使用expand.grid()and循环以及arima()R随附的函数轻松对其进行编码。

上面的内容适合gls()没有correlation结构的残差。

您也可以直接手工完成整个事情,gls()只需为pq和内置AIC()函数的组合拟合很多模型即可。

您还可以绘制没有相关结构的线性模型的残差的ACF(acf())和部分ACF(pacf()),并使用它们来建议所需模型的顺序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.