首页 > 解决方案 > 如何为多元时间序列的 Johansen 协整检验制作循环并在 Rstudio 中获得所有可能的组合?

问题描述

我是 R 和统计的新手。我想使用循环对 75 列执行 Johansen 协整检验。然后将结果作为数据框或列表整理跟踪测试和置信水平 90% 95% 99% 到数据框。

我有一个格式的时间序列data.frame。正如我所说,有 75 个不同名称的列(包含每日数据的公司)和 495 行。

根据 ADF 测试,时间序列是平稳的。

所以基本上我的数据看起来像:( Name Name2 Name3 Name4 Name5 Name6 Name7 Name8 ... Name75
所有名称都不同)

我知道要获得我必须使用的所有可能组合combn(),所以我认为我的代码应该如下所示:

 combn(seq_len(ncol(myData)), 2,
         FUN=function(x) ca.jo(Farm2[, x[1]], Farm2[, x[2]]), simplify=FALSE)

或者可能是这样的:

for (col in colnames(myData)) {
  print(col)
  data <- myData[, col]
  print(data)
  Jo <- ca.jo(data, type="trace", K=2, ecdet="none", spec="longrun")
  summary(Jo)
}

但没有任何工作。

有人可以帮助我理解和纠正我的循环吗?

标签: rloopsmultivariate-testing

解决方案


请记住,仅针对少于 11 个变量的系统报告临界值,并且取自 Osterwald-Lenum,如果您想在urca包中使用 Johansen 检验进行协整,也许您应该考虑重组您的输入数据。

在这里阅读更多。


推荐阅读