【问题标题】:Estimating multiple OLS with AR residuals用 AR 残差估计多个 OLS
【发布时间】:2020-07-17 06:28:36
【问题描述】:

我是 R 建模新手,所以我有点磕磕绊绊......

我在 Eviews 中有一个模型,我必须将其翻译成 R 并进行进一步升级。 该模型是具有残差 AR(1) 的多个 OLS。 我是这样实现的

model1 <- lm(y ~ x1 + x2 + x3, data)
data$e <- dplyr:: lag(residuals(model1), 1)

model2 <- lm(y ~ x1 + x2 + x3 + e, data)

我的问题与thread 中的问题相同,并且我期待它:虽然参数估计相似,但它们不同,我无法使用它。

我计划使用stats 包中的ARIMA,但问题在于实施。如何在残差上制作 AR(1),并让其他变量保持原样?

【问题讨论】:

  • 这似乎更像是一个统计问题而不是编程问题。虽然如果您正在寻找 arima 解决方案,我的赌注是 arima(y, xreg = cbind(x1, x2, x3), order = c(1, 0, 0)) 会完成这项工作。但是,如果您的问题是多个 OLS,那么使用 OLS 似乎是完全明智的。您可能应该检查autocorrelationpartial acf 的残差,如果这不是问题,那么您很可能可以使用OLS。
  • 是的,自相关是问题所在,这就是我在残差上使用 AR(1) 的原因。

标签: r lm arima


【解决方案1】:

如果我理解正确,您可以通过 xreg 参数为您的 arima 模型提供外部回归量。

你没有提供样本数据,所以我没有什么可玩的,但你的模型应该转换成类似的东西

model <- arima(data$y, xreg = as.matrix(data[, c("x1", "x2", "x3")]), order = c(1, 0, 0))

解释:第一个参数data$y 包含您的时间序列数据。 xreg 包含作为matrix 的外部回归变量,每一列包含与时间点一样多的该回归变量的观察值。 order = c(1, 0, 0) 定义了一个 AR(1) 模型。

【讨论】:

  • 这确实有点帮助,但参数(第 3 位或第 4 位)仍有一些差异。更大的问题是使用arima 估计的一些回归变量变得不那么重要甚至不重要。可能原因是arima 使用的是 MLE 方法,而不是 Eviews 中使用的 OLS。
  • @Vesnič 我会说使用 MLE 是更强大的方式(除其他外,OLS 可以处理 AR 流程但不能处理 MA 流程,请参阅例如 here 了解详细信息)。是的,MLE 和 OLS 会给你稍微不同的估计(假设正态分布的残差)。 ar.ols 允许您使用 OLS 将 AR 模型拟合到数据,但该方法不允许使用外部回归器。所以底线是您必须接受估计值的微小差异。
  • 我意识到我错过了 Eviews 中使用的一个重要组件。使用了“HAC(Newly-West)”协方差方法。如果我不在 Eviews 中使用它,概率会与 R 中的大致相同。
  • @Vesnič Newey-West 协方差方法似乎希望在使用 OLS 进行参数估计时考虑残差中的异方差和自相关。除了计量经济学相关领域之外,我在其他任何地方都没有真正遇到过这种方法。 TBH,我对这种事后优化持怀疑态度。更好地理解和解释模型中残差的异方差性和自相关性。这可能是在Cross Validated 上提出的有趣的事情,在那里你有真正的统计专家。
猜你喜欢
  • 2018-08-17
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多