【发布时间】:2020-06-11 23:53:40
【问题描述】:
我有两个时间序列数据集,即三年内每天收到的错误和预订(几百万行)。我希望找出它们之间是否有任何关系。截至目前,我认为这两个系列之间的互相关可能会有所帮助。我命令这样做,我是否应该执行任何转换,如平稳性、去趋势、去季节性等。如果这是正确的,我正在考虑使用“scipy.signal.correlate¶”但真的很想知道如何解释结果?
【问题讨论】:
-
从描述看来,你应该使用NumPy的
corrcoefnumpy.org/devdocs/reference/generated/numpy.corrcoef.html -
我在寻找时间序列变量。 np.corrcef 只是普通的旧皮尔逊系数,在这种情况下不能使用。
-
scipy.signal.correlate确实是为了时间序列的相关性。对于序列y1和y2,correlate(y1, y2)返回一个向量,表示时间相关性:第 k 个值表示时间滞后为“k - N + 1”的相关性,因此 N+第一个元素是没有时间滞后的时间序列的相似性。 -
你能解释一下它们之间的区别吗?另外,在将它们传递给函数之前,我是否应该执行任何去趋势、反季节等操作?
-
scipy.signal.correlate采用两个时间序列并返回它们之间的时间相关性。numpy.corrcoef采用两个数组并将相关性聚合为一个值(另一个例程的“时间 0”),并针对 N 行执行此操作,返回一个 NxN 相关性数组。对角线应该是 1(自相关)。
标签: python scipy time-series cross-correlation