Re: Calculating a moving average
От | Jim C. Nasby |
---|---|
Тема | Re: Calculating a moving average |
Дата | |
Msg-id | 20050121050902.GQ67721@decibel.org обсуждение исходный текст |
Ответ на | Re: Calculating a moving average ("Dann Corbit" <DCorbit@connx.com>) |
Список | pgsql-general |
Also, if you don't need an exact moving average, you might consider a weighted mean. Something like: mean = mean * 0.9 + new_value * 0.1 Much easier to maintain than a moving average. On Thu, Jan 20, 2005 at 08:40:24PM -0800, Dann Corbit wrote: > Why not use a cursor? > > > > P.S. > > A moving average will look much better if you Hahn the tails. > > > To do a normal 7 point moving average, you take (x[i]+ x[i+1]+ x[i+2]+ > x[i+3]+ x[i+4]+ x[i+5]+ x[i+6])/7 as point xprime[i] and (y[i]+ y[i+1]+ > y[i+2]+ y[i+3]+ y[i+4]+ y[i+5]+ y[i+6])/7 as point yprime[i]. > > > > But when you start let x[0], y[0] be the first point, and then average > the next 2 for the second point... until you get to 7 and then do the > same thing in the other end. Otherwise, you get a very strange looking > curve. > > > > IMO-YMMV > > ________________________________ > > From: pgsql-general-owner@postgresql.org > [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Vanole, Mike > Sent: Wednesday, January 19, 2005 1:34 PM > To: pgsql-general@postgresql.org > Subject: [GENERAL] Calculating a moving average > > > > Hi, > > > > I need to calculate a moving average and I would like to do it with SQL, > or a Pg function built for this purpose. I'm on Pg 7.4. Is this possible > in Pg without a bunch of self joins, or is there a funtion available? > > > > Thanks, > > Mike > -- Jim C. Nasby, Database Consultant decibel@decibel.org Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
В списке pgsql-general по дате отправления: