Tengo una matriz de valores reales, que tiene una media y una desviación estándar . Si un elemento de la matriz se reemplaza por otro elemento , entonces la nueva media será σ o l d x i
La ventaja de este enfoque es que requiere un cálculo constante independientemente del valor de . ¿Existe algún enfoque para calcular \ sigma_ {new} usando \ sigma_ {old} como el cálculo de \ mu_ {new} usando \ mu_ {old} ?σ n e w σ o l d μ n e w μ o l d
standard-deviation
online
usuario
fuente
fuente
Respuestas:
Una sección en el artículo de Wikipedia sobre "Algoritmos para calcular la varianza" muestra cómo calcular la varianza si se agregan elementos a sus observaciones. (Recuerde que la desviación estándar es la raíz cuadrada de la varianza). Suponga que agrega a su matriz, luegoxn+1
EDITAR : la fórmula anterior parece estar mal, ver comentario.
Ahora, reemplazar un elemento significa agregar una observación y eliminar otra; ambos se pueden calcular con la fórmula anterior. Sin embargo, tenga en cuenta que pueden surgir problemas de estabilidad numérica; El artículo citado también propone variantes numéricamente estables.
Para derivar la fórmula usted mismo, calcule utilizando la definición de varianza de muestra y sustituya por la fórmula que proporcionó cuando corresponde . Esto le da al final y, por lo tanto, una fórmula para dada y . En mi notación, supongo que reemplazas el elemento por :μ n e w σ 2 n e w - σ 2 o l d σ n e w σ o l d μ o l d x n x ′ n(n−1)(σ2new−σ2old) μnew σ2new−σ2old σnew σold μold xn x′n
La en la suma se transforma en algo dependiente de , pero tendrá que trabajar la ecuación un poco más para obtener un resultado claro. Esto debería darte la idea general.μ o l dxk μold
fuente
Según lo que creo que estoy leyendo en el artículo de Wikipedia vinculado , puede mantener una desviación estándar "en ejecución":
Aunque en el artículo no mantienen una ejecución separada
sum
ycount
, en cambio, tienen el sencillomean
. Como en lo que estoy haciendo hoy mantengo uncount
(para fines estadísticos), es más útil calcular las medias cada vez.fuente
Dado el original , y , así como el cambio de un elemento dado a , creo que su nueva desviación estándar será la raíz cuadrada de donde , con denota la nueva media.x¯ s n xn x′n s′
¿Quizás hay una manera más elegante de escribirlo?
Verifiqué esto con un pequeño caso de prueba y parecía funcionar.
fuente