Re: Creating a Moving Average Function
- To: mathgroup at smc.vnet.net
- Subject: [mg51652] Re: Creating a Moving Average Function
- From: p-valko at tamu.edu (Peter Valko)
- Date: Wed, 27 Oct 2004 23:43:25 -0400 (EDT)
- References: <clnemu$obb$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Try out the ListConvolve function first. For instance the moving
average with weights 1/6, 2/3, 1/6 would work like this:
theSeries={a1, a2, a3, a4, a5, a6};
ListConvolve[{1/6, 4/6, 1/6}, theSeries, {2, 2}, 0] // TableForm
If you like what you get, you can modify the weights and can control
what is happening at the ends by changing the part: {2, 2}, 0
I hope this helps.
Peter
Gregory Lypny <gregory.lypny at videotron.ca> wrote in message news:<clnemu$obb$1 at smc.vnet.net>...
> Hello Everyone,
>
> I'd like to create some custom moving average functions that retain the
> same length as the original series by padding the lost observations
> with zeros. I can get the moving average part of the function to work
> but not the padding part.
>
> This part without padding works:
>
> MA[theSeries_, theWindowSize_] = MovingAverage[theSeries,
> theWindowSize];
>
> But adding the padding causes it to fail:
>
> MA[theSeries_, theWindowSize_] = PadLeft[MovingAverage[theSeries,
> theWindowSize], 1000];
>
> Any suggestions would be most appreciated.
>
> Greg