r - 时间序列数据的协整/GPH 检验
问题描述
我对 R 和统计很陌生。我想用 GPH 检验来检验两个时间序列的协整。为此,我使用包LongMemoryTS
和函数 gph(): gph(X, m, l = 1)
。作为输出,我得到参数 d 的值,但我不知道如何确定 t 值或如何生成它。
这里是包中函数的链接:https ://rdrr.io/cran/LongMemoryTS/man/gph.html
这是我第一次尝试作为代码片段:
lr.reg.IP_AT_EN <- lm(IP_AT~IP_DE)
error.IP_AT_EN <- residuals(lr.reg.IP_AT_DE)
T <- length(error.IP_AT_EN)
d.IP_AT_DE <- gph(X=error.IP_AT_DE, m=T^0.4)
非常感谢您的帮助!
解决方案
为了获得临界值,引导似乎是一种很好的方法,请参见此处http://repec.org/sce2004/up.4249.1077649371.pdf。还有使用理论误差方差的方法(见论文第 3 页)。我不完全确定这是否正确,但您至少可以使用以下代码获得统计信息:
library(xts)
library(LongMemoryTS)
set.seed(123)
# generate some data
dat_ts <- xts(matrix(rnorm(200), ncol = 2), order.by = seq.Date(Sys.Date()-100, length.out = 100, by = 'days'))
reg1 <- lm(dat_ts[, 1]~dat_ts[, 2])
error_reg1 <- residuals(reg1)
nT <- length(error_reg1) # bad idea to name it T!
res1 <- gph(X=error_reg1, m=nT^0.4)
res1
t_stat <- (res1-0)/((pi^2)/6)^0.5
p_value <- pt(q = t_stat, df = 1, lower.tail = TRUE)
p_value
[1] 0.3831716
推荐阅读
- javascript - 使用来自 API 的数据在 Angular 中创建动态复选框验证
- reactjs - React-fontawesome - 图标说类是'fa fa-undefined fa-2x'
- css - 将子 div 的宽度绑定到父 div 的高度
- javascript - 如何将日期范围分配给数组并与日期输入数据进行比较
- c# - 如何在 DataGrid 中填充组合框?
- oauth-2.0 - 识别 Office 365 用户
- javascript - 自定义光标 - 悬停时增长
- javascript - 将 JSON 转换为 XML Angular 7
- java - Netbeans 不加载简单的 GUI
- c - 如何正确格式化 C 中的这些循环,我的教授希望它如何?