【发布时间】:2017-12-04 16:18:03
【问题描述】:
您好,我想使用这个自相关脚本,我在这里找到了:
https://stackoverflow.com/a/20463466/8238271
import numpy
def acf(series):
n = len(series)
data = numpy.asarray(series)
mean = numpy.mean(data)
c0 = numpy.sum((data - mean) ** 2) / float(n)
def r(h):
acf_lag = ((data[:n - h] - mean) * (data[h:] - mean)).sum() / float(n) / c0
return round(acf_lag, 3)
x = numpy.arange(n) # Avoiding lag 0 calculation
acf_coeffs = map(r, x)
return acf_coeffs
我正在使用这个 numpy 数组:
a=numpy.array([1, 2, 3,7,2,5,1,6,7,2,1,1,1,6,7,2])
我这样称呼这段代码:
z2=acf(a)
print (z2)
然后终端返回:
<map object at 0x ....>(不知道号码是多少最好不要在这里写)
如何正确调用此函数以实现自相关滞后 1、2、3、4 等?
请帮忙!
【问题讨论】:
标签: python arrays numpy object mapping