python - 约翰森协整检验 - 向量方向?
问题描述
我正在对三个时间序列的协整进行滚动 Johansen 检验,以便在每个新时间步获得在线/演化特征向量。我正在使用来自 statsmodels.tsa.vector_ar.vecm 的 .coint_johansen() 实现。
我的问题是为什么向量元素有时会切换符号?Johansen 计算的滚动窗口是 20 000 分钟,并且元素值的绝对数量演变得如此缓慢。因此,特征向量从一分钟到下一分钟“倒转”是极不可能的。该图显示了滚动特征向量的第一个元素。我需要获得连续值,而不会偶尔出现符号反转。
为什么会发生这种情况,是否有任何方便的方法可以一致地定向 coint_johansen() 的特征向量输出?
2018-10-31 17:20:00 [-0.01669008 0.02542677 -0.09270737]
2018-10-31 17:21:00 [-0.01677716 0.02543248 -0.09265081]
2018-10-31 17:22:00 [ 0.01684433 -0.02543571 0.09261844]
2018-10-31 17:23:00 [-0.01675599 0.02543448 -0.09266106]
2018-10-31 17:24:00 [-0.01676379 0.02543654 -0.09265483]
2018-10-31 17:25:00 [ 0.01689747 -0.02544224 0.09258631]
2018-10-31 17:26:00 [ 0.01697933 -0.02544516 0.0925532 ]
解决方案
两个特征向量方向都是有效的。如果您想要一致性,您可以简单地将特征向量的所有分量除以第一个分量的符号。
推荐阅读
- python - 如何在迭代列表时迭代其键时更改字典
- reactjs - 显示不是功能
- selenium - 登录 Twitter 时出现 Selenium ElementNotInteractableException
- json - 如何将 postgresql json 类型转换为 golang native?
- python - 访问文件上传窗口 - Python + Selenium
- java - 未找到 NetBeans 10 JUnit Jar
- reactjs - 在componentDidMount中获取数据后无法调用函数
- javascript - 在后端而不是前端使用 firebase 身份验证
- java - 我是否必须在我的 hql 查询中防御性地保护空值?
- javascript - 尝试显示函数时如何避免未定义的错误?