如何在两个时间序列之间执行互相关以及我应该在 python 中执行哪些转换?

How do I perform crosscorelation between two time series and what transformations should I perform in python?

我有两个时间序列数据集,即三年来每天收到的错误和收到的预订(几百万行)。我想找出现在的 them.As 之间是否有任何关系,我认为这两个系列之间的互相关性可能会有所帮助。我命令这样做,我是否应该执行任何转换,如平稳性、去趋势、去季节性等。如果这是正确的,我正在考虑使用“scipy.signal.correlate¶”但实际上想知道如何解读结果?

scipy.signal.correlate用于时间序列的相关性。对于序列 y1y2correlate(y1, y2) returns 表示时间相关性的向量:第 k 个值表示时间滞后 [=22] 的相关性=],因此第 N+1 个元素是没有时间滞后的时间序列的相似度:如果 y1 和 y2 具有相似的趋势(对于归一化数据)则接近于 1,如果序列是独立的则接近于零。

numpy.corrcoef 采用两个数组并将相关性聚合为单个值(另一个例程的 "time 0"),Pearson 相关性,并对 N 行这样做,返回 NxN 数组相关性。 corrcoef 标准化数据(将结果除以它们的 rms 值),因此他的对角线应该是 1(平均自相关)。

有关平稳性、去趋势和反季节性的问题取决于您的具体问题。上面的例程考虑 "plain" 数据而不考虑它们的意义。