Hi,

I'm used to the following definition of autocorrelation:

R(\tau) = \frac{<(X_t - \mu)(X_{t+\tau}-\mu)>}{\sigma^2}

However, it looks like acorr is just giving me

R(\tau) = \sum{X_t*X_{t+\tau}}

Just specifying normed=True doesn't get the first formula. Is there some
trivial option that I've missed?

Here's what I did:

It's easy enough to subtract \mu from my timeseries, but when I ask acorr to
normalize things for me, I get the whole timeseries normalized by the value
of R(0):

    if normed: c/= np.dot(x,x)

I really do want the formula I gave, which requires each point of the
autocorrelation to be averaged separately. So, I modified my local version
of acorr to say

    if normed:
        nrm = arange(len(x))
        nrm = hstack((nrm,nrm[:-1][::-1]))*std(x)**2
        c /= nrm


Thanks,

-michael

-- 
Michael Lerner, Ph.D.
IRTA Postdoctoral Fellow
Laboratory of Computational Biology NIH/NHLBI
5635 Fishers Lane, Room T909, MSC 9314
Rockville, MD 20852 (UPS/FedEx/Reality)
Bethesda MD 20892-9314 (USPS)
------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to