def estimated_autocorrelation(x):
n = len(x)
variance = x.var()
x = x - x.mean()
r = np.correlate(x, x, mode='full')[-n:]
assert np.allclose(r, np.array([(x[:n - k] * x[-(n - k):]).sum() for k in range(n)]))
result = r / (variance * (np.arange(n, 0, -1)))
return result
评论列表
文章目录