python - 如果我使用 Johansen Test 来确定 python 中两个时间序列之间的相关性,如何读取测试结果?
问题描述
我正在尝试使用 2 个时间序列拟合向量自动回归模型。我需要在应用 VAR 之前执行协整测试以检查两个时间序列是否相关。我能够成功实施 Johansen 测试,但无法读取测试结果。我正在寻找的答案是结果是否显示两个时间序列之间的相关性。
我已经熟悉 Augmented Dicky Fuller 检验,并且我知道如何使用检验统计量和临界值推断单变量时间序列的平稳性
以下代码给出了特征值。
from statsmodels.tsa.vector_ar.vecm import coint_johansen
coint_johansen(train_model_mul,-1,1).eig
>>>array([0.09947583, 0.00235395])
以下代码给出了跟踪统计的临界值(90,95,99)。
coint_johansen(train_model_mul,-1,1).cvt
>>>array([[10.4741, 12.3212, 16.364 ],
[ 2.9762, 4.1296, 6.9406]])
以下代码给出了跟踪统计值。
coint_johansen(train_model_mul,-1,1).lr1
>>>array([83.2438963 , 1.83117555])
解决方案
您可以解决此问题的一种方法是coint.test()
在 statsmodels 中使用。
例如,假设我们正在寻求确定油价走势与标准普尔 500 指数之间是否存在协整。运行协整的 Engle-Granger 检验(零假设不存在协整):
import statsmodels.tsa.stattools as ts
result=ts.coint(oil, gspc)
result
结果如下:
(-2.2598677154038014,
0.3937399201683496,
array([-3.91847791, -3.34837749, -3.05294328]))
正如我们所见,0.39 > 0.05 的 p 值意味着不能在 5% 的显着性水平上拒绝无协整的原假设。
你可以用你的数据试试 Engle-Granger,看看读数是什么——它可能被证明更简单。
推荐阅读
- mongodb - Talend Job 自杀
- python - 跨两个数据帧的多个条件计数
- c# - 是否可以使用 Fluent API 将主键设置为 NOT AUTOINCREMENT?
- android - model-viewer 允许在 iOS 中使用 AR 但在 Android、HTML CSS 中不允许
- pyspark - 将函数应用于 Pyspark 中的连接列会影响性能吗?
- angular - 角度 ssr 的 ERR_TOO_MANY_REDIRECTS 问题
- flutter - 飞镖列表的奇怪行为
- c - 关于 printf 函数在 C 中“使用 %d 输出浮点数”的问题
- php - PHP - 在实例之间共享大型(静态)数据(不使用 SQL)
- java - 谷歌秘密管理 API 和谷歌存储 API 不能与 Apache Spark 一起使用