我必须计算许多对序列的互相关。实际上,我只关心每一个的前100个滞后。
这是我的正确代码,其中包含一些组成数据:
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.tsa.stattools as stattools
def create(n):
x = np.zeros(n)
for i in range(1, n):
if np.random.rand() < 0.9:
if np.random.rand() < 0.5:
x[i] = x[i-1] + 1
else:
x[i] = np.random.randint(0,100)
return x
x = create(4000)
y = create(4000)
plt.plot(stattools.ccf(x, y)[:100])
如果我愿意
%timeit stattools.ccf(x, y)[:100]
我知道
100 loops, best of 3: 10.7 ms per loop
有可能使速度更快吗?