确定两个时间序列之间可能因果关系的方法

数据挖掘 时间序列 相关性
2021-09-18 13:42:41

我将把这个问题设置为一个简化的例子:

我们假设特定城市的平均汽油价格与道路交通之间存在因果关系。数据以相同的频率(例如:每周)覆盖相同的时间段,并且不包含缺失值。我们将抛开可能存在混杂变量的想法,假设我们已经使时间序列平稳(通过差分),并确定序列中没有自相关。

有什么可靠的方法可以确定价格数据中是否发生冲击,而流量数据中是否会在某个时间滞后时发生相应的冲击?

我看过一点点动态时间扭曲,但我怀疑这更适合确定如何将一个系列映射到另一个系列,而不是确定因果关系。

1个回答

我找到了两种可能的解决方案:格兰杰因果关系收敛交叉映射 (CCM)

格兰杰因果关系基于第一个变量与第二个变量的滞后值的 t 检验。限制是它不能消除混杂效应。

CCM首先为第一个变量X构建流形。然后对于每个时间点,估计邻居的权重,并用于估计Y。然后测试估计的Y和Y之间的相关性。