Re: Correlation function and data

• To: mathgroup at smc.vnet.net
• Subject: [mg24766] Re: Correlation function and data
• From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
• Date: Thu, 10 Aug 2000 00:31:49 -0400 (EDT)
• Organization: Universitaet Leipzig
• References: <8mr0id\$1is@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi,

in *every* term of your summation you calculate the  two times
the mean value and one time the variance *and* you are wondering
why it take so long ? Strange ..

n=Length[data];
aved=Mean[data];
vard=Variance[data];
centerd=(#-aved) & /@ data

c[y_]:=Sum[centerd[[i]]*centerd[[i+y]], {i,1,n - y}]/vard

may help and

c[y_]:=(Dot @@ (Take[#,n-y] & /@ {centerd,RotateLeft[centerd,y]}))/vard

may be a bit faster

Regards
Jens

Deborah Leddon wrote:
>
> Hello,
>  I am trying to construct an autocorrelation function that can be
> applied to a data set as follows;
>
> n=Length[data];
> c[y_]:= Sum[(data[[i]] - Mean[data] )* ( data[[i+y]] - Mean[data])/
>                 Variance[data], {i,1,n - y}];
> corrfunction = Array[c, {n - 1}];
>
> ListPlot[corrfunction, PlotJoined->True]
>
> Problem is , this routine works well for data sets up to a length of
> 300 points, but gets unusually long for larger data sets , say
> around 1000-3000 points in length. I've tried  "Map" (using
> anonymous function rules), Table-Evaluate, etc..
>
> Anyone got any ideas? I would much appreciate them!
>
> Regards,
> Deb L.

```

• Prev by Date: What happened to MonomialList?
• Next by Date: Re: Re: Correlation function and data
• Previous by thread: Re: Re: Correlation function and data
• Next by thread: Re: Re: Correlation function and data