Re: computation of autocovariance
- To: mathgroup at smc.vnet.net
- Subject: [mg46190] Re: computation of autocovariance
- From: Mariusz Jankowski<mjankowski at usm.maine.edu>
- Date: Tue, 10 Feb 2004 00:06:08 -0500 (EST)
- Organization: University of Southern Maine
- References: <c04ehe$gbr$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Paolo, you must define/initialize autoconvS, for example autoconV = Table[0,{60}]. and then your code should work. However, it is always be better to use built-in functions. The same should be calculated as follows: Method 1: if x is not very, very long you can do tmp = ListCorrelate[x, x, 1, 0]; then autoconvS = Take[tmp,60]; Method 2: Best approach is to use (see docs on ListCorrelate) autoconvS = ListCorrelate[x, x, {1, Length[x] - 59}, 0] Bye, Mariusz >>> paolo<tarpanelli at libero.it> 2/7/2004 11:39:10 PM >>> I am computing the autocovariance, with temporal lags from 1 to 60, of a time serie but my procedure does not works. Can you help me? x={timeserie} For[j=1,j<61,j++, autocovS[[j]]=1/Length[x]-j + Sum[(x[[i]]-Mean[x])*(x[[i+j]]-Mean[x]),{i,1,Length[x]-j-1,1}]] when i evaluate the procedure, Mathematica reply "Part specification autocovS?j? is longer than depth of object." thanks Paolo Tarpanelli