Estoy intentando desarrollar un algoritmo en tiempo real para encontrar zonas de nivel de una señal eléctrica.
Para ello necesito hallar la varianza para un intervalo de tiempo rodante concreto.
En Blog de John Cook and the Art of Computer Programming el algoritmo para determinar rápidamente la varianza es:
M k \= M k-1 + (x k - M k-1 )/k
S k \= S k-1 + (x k - M k-1 ) * (x k - M k )
Donde la k-ésima estimación de la varianza es:
$ s^2 = S_k / (k-1) $
Esto funciona muy bien, pero necesito mantener una varianza "rodante" de 100 muestras. En cada paso añadiría una nueva muestra y eliminaría la muestra número 100 de la lista.
Si conozco el valor de x k-100 ¿existe algún algoritmo rápido para "borrarlo" del resultado de la varianza?