时间序列数据的协整/GPH 检验
Posted
技术标签:
【中文标题】时间序列数据的协整/GPH 检验【英文标题】:Cointegration/GPH test on time series data 【发布时间】:2021-02-10 03:33:22 【问题描述】:我对 R 和统计很陌生。我想用 GPH 检验来检验两个时间序列的协整。为此,我使用包LongMemoryTS
和函数gph():gph(X, m, l = 1)
。作为输出,我得到了参数 d 的值,但我不知道如何确定 t 值或如何生成它。
这里是包中函数的链接:https://rdrr.io/cran/LongMemoryTS/man/gph.html
这是我第一次尝试作为代码 sn-p:
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)
非常感谢您的帮助!
【问题讨论】:
你能不能给它添加一些简单的数据,让人们更容易复制? 【参考方案1】:对于获取关键值,引导似乎是一种好方法,请参阅此处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
【讨论】:
以上是关于时间序列数据的协整/GPH 检验的主要内容,如果未能解决你的问题,请参考以下文章