Hallo Ich mag diese Autokorrelation Skript zu vermeiden, verwenden, fand ich hier:Wie Karte Objektfehler in dieser Autokorrelation Skript
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
ich dieses numpy Array bin mit:
a=numpy.array([1, 2, 3,7,2,5,1,6,7,2,1,1,1,6,7,2])
Und ich rufe diesen Code wie folgt aus:
z2=acf(a)
print (z2)
Dann wird der Terminal zurückkehrt:
<map object at 0x ....>
(nicht sicher, was die Zahl ist so besser hier nicht aufschreiben)
Wie kann ich diese Funktion für Autokorrelation nennen nacheilt 1,2,3,4 und so richtig ?
Bitte helfen!
danke, funktioniert gut, ist es möglich, es als ein numpy Array anstelle einer Liste zu nennen? – Jason
Sie müssen noch 'list' verwenden. 'np.array (liste (map (....)))'. – hpaulj