Mercurial > hg > tvii
view tvii/average.py @ 61:0e6743d5416d
notes on averaging
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 10 Dec 2017 18:18:32 -0800 |
parents | |
children |
line wrap: on
line source
""" exponentially weighted averages v[0] = theta[0] v[t] = beta*v[t-1] + (1-beta)*theta[t] => v[t] as approximately averaged over 1/(1-beta) counts Bias correction: v[t] / (1 - beta**t) """ def exponential_weighted_average(theta, beta=0.9): """a form of moving window""" # TODO: consider a generator; there isn't much state here # v = theta[0] # v = beta*v (1-beta)*theta[1] retval = [theta[0]] for value in theta[1:]: retval.append(beta*retval[-1] + (1.-beta)*value) return retval