8 votos

¿Cómo se obtiene el Algoritmo de Welford?

Tengo algunos problemas para entender cómo se deriva parte de esta fórmula.

Tomado de: http://jonisalonen.com/2013/deriving-welfords-method-for-computing-variance/

$(x_N\bar{x}_N)^2+\sum_{i=1}^{N1}(x_i\bar{x}_N+x_i\bar{x}_{N1})(\bar{x}_{N1}–\bar{x}_N)$ $=(x_N\bar{x}_N)^2+(\bar{x}_N–x_N)(\bar{x}_{N1}–\bar{x}_N)$

No puedo derivar el lado derecho del izquierdo.

Cualquier ayuda para explicar esto sería muy apreciada. Gracias.

5voto

Dr8k Puntos 902

La clave para entenderlo es la siguiente identidad algebraica: $$\sum_{i=1}^{N} (x_i − \bar{x}_N) = 0$$ que básicamente dice que la suma algebraica de las desviaciones de la media es cero. Es bastante sencillo derivar esto de la definición de media:

$$ \bar{x}_N = \frac{1}{N} \sum_{i=1}^{N} x_i$$

Esto se puede reescribir como: $$ N \bar{x}_N = \sum_{i=1}^{N} x_i$$

Dado que la media ( $\bar{x}_N $ ) es una constante que se puede reescribir multiplicando por $N$ como añadirlo $N$ tiempos: $$ \implies \sum_{i=1}^{N} \bar{x}_N = \sum_{i=1}^{N} x_i $$

Lo que se reduce a: $$\sum_{i=1}^{N} (x_i − \bar{x}_N) = 0$$


Ahora veamos la suma en el lado izquierdo $$\sum_{i=1}^{N−1}(x_i−\bar{x}_N + x_i−\bar{x}_{N−1}) = \sum_{i=1}^{N−1}((x_i−\bar{x}_N) + (x_i−\bar{x}_{N−1})) \\ = \sum_{i=1}^{N−1}(x_i−\bar{x}_N) +\sum_{i=1}^{N−1} (x_i−\bar{x}_{N−1})$$

Ahora, aplicando la identidad indicada al principio a la ecuación anterior, el segundo término desaparece en el lado derecho. $$\sum_{i=1}^{N−1}(x_i−\bar{x}_N) +\sum_{i=1}^{N−1} (x_i−\bar{x}_{N−1}) = \sum_{i=1}^{N−1}(x_i−\bar{x}_N) + 0 $$

Sólo necesitamos un poco más de manipulación algebraica para el primer término del lado derecho. Necesitamos el índice $i$ para pasar de $1$ a $N$ .

\begin{align} \sum_{i=1}^{N−1}(x_i−\bar{x}_N) &= \left(\sum_{i=1}^{N-1}(x_i−\bar{x}_N) \right) + (x_N −\bar{x}_N) - (x_N −\bar{x}_N) \\ &= \left(\sum_{i=1}^{N-1}(x_i−\bar{x}_N) + (x_N −\bar{x}_N) \right) - (x_N −\bar{x}_N) \\ &= \left(\sum_{i=1}^{N}(x_i−\bar{x}_N) \right) - (x_N −\bar{x}_N) \end{align}

El primer término del lado izquierdo desaparece, lo que lleva a: $$\sum_{i=1}^{N−1}(x_i−\bar{x}_N) = (\bar{x}_N − x_N) $$


Ahora hemos derivado $$\sum_{i=1}^{N−1}(x_i−\bar{x}_N + x_i−\bar{x}_{N−1}) = (\bar{x}_N − x_N) $$

y lo introducimos en la siguiente ecuación:

\begin{align} (x_N−\bar{x}_N)^2 + \sum_{i=1}^{N−1}(x_i−\bar{x}_N+x_i−\bar{x}_{N−1})(\bar{x}_{N−1}–\bar{x}_N) &= (x_N−\bar{x}_N)^2 + (\bar{x}_{N−1}–\bar{x}_N) \sum_{i=1}^{N−1}(x_i−\bar{x}_N+x_i−\bar{x}_{N−1}) \\ &= (x_N−\bar{x}_N)^2 + (\bar{x}_{N−1}–\bar{x}_N) (\bar{x}_N − x_N) \end{align}

lo que completa la derivación.


Se puede simplificar aún más esta expresión:

\begin{align} (x_N−\bar{x}_N)^2 + (\bar{x}_{N−1}–\bar{x}_N) (\bar{x}_N − x_N) &= (x_N−\bar{x}_N) \left [ (x_N−\bar{x}_N) - (\bar{x}_{N−1}–\bar{x}_N) \right ] \\ &= (x_N−\bar{x}_N) (x_N − \bar{x}_{N−1}) \end{align}

2voto

JerryH Puntos 41

Creo que la clave es la comprensión:

enter image description here

y también:

enter image description here

Lo anterior se reduce a:

enter image description here

Este es un buen post: https://alessior.wordpress.com/2017/10/09/onlinerecursive-variance-calculation-welfords-method/

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X