Aging dataset

For reasons that I would prefer not to use, I need to filter out a set of values ​​to reduce jitter. For this purpose, I need to be able to compute a list of numbers with the most recent having the greatest effect and the least recent having the least effect. I use a sample of size 10, but this can easily change at some point.

Are there any reasonable simple aging algorithms that I can apply here?

+3
source share
4 answers
  • Look at exponential smoothing . Pretty simple, and maybe enough for your needs. Most recent observations provide a relatively greater weight than older ones.
  • Also (depending on the application) you can look at various methods of training fixtures, for example, Q-Learning or TD-Learning, or any method including a discount.
+5
source

I came across something similar in the built-in management application.

The easiest option I came across is a 3/4 filter. This applies continuously throughout the data set:

current_value = (3*current_value + new_value)/4

In the end, I decided to go with a 16x FIR filter:

Review
FIR Issues
Wikipedia article

0
source

.

, (n) n = 1 N ( ):

(SUM(I(n) * (N + 1 - n)) / SUM(n)
0

, . , (R C). , (?),

U_aged [n + 1] = U_aged [n] + deltat/Tau (U_raw [n + 1] - U_aged [n])

Tau - . ( 1/e ). U_aged.

deltat 1, Tau " ", 1/.

0

Source: https://habr.com/ru/post/1704339/


All Articles