两个时间序列之间的相关性

机器算法验证 时间序列
2022-02-15 15:16:02

计算两个大小完全相同的时间序列之间相关性的最简单方法/方法是什么?我想过将相乘,然后将乘法相加。那么如果这个数字是正数,我们可以说这两个系列是相关的吗?我可以想到一些例子,但是线性另一个呈指数增长的时间序列彼此之间没有关系,但上面的计算会报告它们是相关的。(x[t]μx)(y[t]μy)

有什么想法吗?

3个回答

宏的观点是正确的,比较时间序列之间关系的正确方法是通过互相关函数(假设平稳)。具有相同的长度不是必需的。滞后 0 处的互相关只是计算相关性,就像在相同时间点对数据进行 Pearson 相关估计一样。如果它们确实与您假设的长度相同,那么您将拥有精确的 T 对,其中 T 是每个系列的时间点数。滞后 1 互相关将序列 1 中的时间 t 与序列 2 中的时间 t+1 匹配。请注意,即使序列长度相同,您也只有 T-2 对,因为第一个序列中的一个点在第二个序列中没有匹配第二个系列中的另一个点将与第一个不匹配。鉴于这两个系列,您可以估计几个滞后的互相关。如果任何交叉相关在统计上与 0 显着不同,则表明两个系列之间存在相关性。

您可能想查看类似的问题和我的回答Correlating volume timeseries这表明您可以计算互相关但测试它们是由于自回归或确定性结构而导致的不同颜色的马(不同色调的马)系列。

这里有一些有趣的东西

https://stackoverflow.com/questions/3949226/calculating-pearson-correlation-and-significance-in-python

这实际上是我需要的。易于实施和解释。