11 votos

Cómo calcular la desviación estándar 2D, con media 0, acotada por límites

Mi problema es el siguiente: Lanzo 40 bolas a la vez desde un punto determinado, a unos metros sobre el suelo. Las bolas ruedan y se detienen. Utilizando la visión por ordenador, calculo el centro de masa en el plano X-Y. Sólo me interesa la distancia del centro de masa a cada bola, que se calcula mediante geometría simple. Ahora, quiero saber la desviación estándar unilateral desde el centro. Así, podría saber que un cierto número de bolas están dentro de un radio std, más bolas dentro de 2*radio std y así sucesivamente. ¿Cómo puedo calcular la desviación estándar unilateral? Una aproximación normal diría que la mitad de las bolas están en el "lado negativo" de la media 0. Por supuesto, esto no tiene sentido en este experimento. ¿Tengo que asegurarme de que las bolas se ajustan a la distribución estándar? Gracias por cualquier ayuda.

16voto

jldugger Puntos 7490

Para caracterizar la cantidad de dispersión 2D alrededor del centroide, sólo se quiere la distancia media cuadrática (raíz),

$$\hat\sigma=\text{RMS} = \sqrt{\frac{1}{n}\sum_i\left((x_i - \bar{x})^2 + (y_i - \bar{y})^2\right)}.$$

En esta fórmula, $(x_i, y_i), i=1, 2, \ldots, n$ son las coordenadas de los puntos y su centroide (punto de media) es $(\bar{x}, \bar{y}).$


En la pregunta se pide el distribución de las distancias. Cuando las bolas tienen una distribución normal bivariante isotrópica en torno a su centroide -que es una suposición estándar y físicamente razonable- la distancia al cuadrado es proporcional a una distribución chi-cuadrado con dos grados de libertad (uno para cada coordenada). Esto es una consecuencia directa de una definición de la distribución chi-cuadrado como una suma de cuadrados de variables normales estándar independientes, porque $$x_i - \bar{x} = \frac{n-1}{n}x_i - \sum_{j\ne i}\frac{1}{n}x_j$$ es una combinación lineal de variantes normales independientes con expectativa $$\mathbb{E}[x_i - \bar{x}] = \frac{n-1}{n}\mathbb{E}[x_i] -\sum_{j\ne i}\frac{1}{n}\mathbb{E}[x_j] = 0.$$ Escribir la varianza común del $x_i$ como $\sigma^2$ , $$\mathbb{E}[\left(x_i -\bar{x}\right)^2]=\text{Var}(x_i - \bar{x}) = \left(\frac{n-1}{n}\right)^2\text{Var}(x_i) + \sum_{j\ne i}\left(\frac{1}{n}\right)^2\text{Var}(x_j) = \frac{n-1}{n}\sigma^2.$$ La hipótesis de la anisotropía es que el $y_j$ tienen la misma distribución que el $x_i$ y son independientes de ellas, por lo que un resultado idéntico es válido para la distribución de $(y_j - \bar{y})^2$ . Esto establece la constante de proporcionalidad: los cuadrados de las distancias tienen una distribución chi-cuadrado con dos grados de libertad, escalada por $\frac{n-1}{n}\sigma^2$ .

La prueba más severa de estas ecuaciones es el caso $n=2$ pues entonces la fracción $\frac{n-1}{n}$ es la que más se diferencia de $1$ . Mediante la simulación del experimento, tanto para $n=2$ y $n=40$ y sobretrazando los histogramas de las distancias al cuadrado con las distribuciones chi-cuadrado escaladas (en rojo), podemos verificar esta teoría.

Figure

Cada fila muestra los mismos datos: a la izquierda el eje x es logarítmico; a la derecha muestra la distancia real al cuadrado. El valor real de $\sigma$ para estas simulaciones se fijó en $1$ .

Estos resultados son para 100.000 iteraciones con $n=2$ y 50.000 iteraciones con $n=40$ . Los acuerdos entre los histogramas y las densidades de chi-cuadrado son excelentes.


Aunque $\sigma^2$ se desconoce, se puede estimar de varias maneras. Por ejemplo, la distancia media al cuadrado debe ser $\frac{n-1}{n}\sigma^2$ veces la media de $\chi^2_2$ que es $2$ . Con $n=40$ por ejemplo, estimar $\sigma^2$ como $\frac{40}{39}/2$ veces la distancia media al cuadrado. Por lo tanto, una estimación de $\sigma$ sería $\sqrt{40/78}$ veces la distancia RMS. Utilizando los valores de la $\chi^2_2$ distribución podemos entonces decir que:

  • Aproximadamente el 39% de las distancias serán inferiores a $\sqrt{39/40}\hat\sigma$ porque el 39% de un $\chi^2_2$ distribución es menor que $1$ .

  • Aproximadamente el 78% de las distancias serán inferiores a $\sqrt{3}$ veces $\sqrt{39/40}\hat\sigma$ porque el 78% de un $\chi^2_2$ distribución es menor que $3$ .

Y así sucesivamente, para cualquier múltiplo que desee utilizar en lugar de $1$ ou $3$ . Como comprobación, en las simulaciones para $n=40$ trazados anteriormente, las proporciones reales de distancias al cuadrado inferiores a $1, 2, \ldots, 10$ veces $\frac{n-1}{n}\hat\sigma^2$ fueron

0.3932 0.6320 0.7767 0.8647 0.9178 0.9504 0.9700 0.9818 0.9890 0.9933

Las proporciones teóricas son

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

El acuerdo es excelente.


Aquí está R para realizar y analizar las simulaciones.

f <- function(n, n.iter, x.min=0, x.max=Inf, plot=TRUE) {
  #
  # Generate `n.iter` experiments in which `n` locations are generated using
  # standard normal variates for their coordinates.
  #
  xy <- array(rnorm(n*2*n.iter), c(n.iter,2,n))
  #
  # Compute the squared distances to the centers for each experiment.
  #
  xy.center <- apply(xy, c(1,2), mean)
  xy.distances2 <- apply(xy-array(xy.center, c(n.iter,2,n)), c(1,3), 
                         function(z) sum(z^2))
  #
  # Optionally plot histograms.
  #
  if(plot) {
    xy.plot <- xy.distances2[xy.distances2 >= x.min & xy.distances2 <= x.max]

    hist(log(xy.plot), prob=TRUE, breaks=30,
         main=paste("Histogram of log squared distance, n=", n),
         xlab="Log squared distance")
    curve(dchisq(n/(n-1) * exp(x), df=2) * exp(x) * n/(n-1), 
          from=log(min(xy.plot)), to=log(max(xy.plot)), 
          n=513, add=TRUE, col="Red", lwd=2)

    hist(xy.plot, prob=TRUE, breaks=30,
         main=paste("Histogram of squared distance, n=", n),
         xlab="Squared distance")
    curve(n/(n-1) * dchisq(n/(n-1) * x, df=2), 
          from=min(xy.plot), to=max(xy.plot), 
          n=513, add=TRUE, col="Red", lwd=2)  
  }
  return(xy.distances2)
}
#
# Plot the histograms and compare to scaled chi-squared distributions.
#
par(mfrow=c(2,2))
set.seed(17)
xy.distances2 <- f(2, 10^5, exp(-6), 6)
xy.distances2 <- f(n <- 40, n.iter <- 50000, exp(-6), 12)
#
# Compare the last simulation to cumulative chi-squared distributions.
#
sigma.hat <- sqrt((n / (2*(n-1)) * mean(xy.distances2)))
print(cumsum(tabulate(cut(xy.distances2, 
                    (0:10) * (n-1)/n * sigma.hat^2))) / (n*n.iter), digits=4)
print(pchisq(1:10, df=2), digits=4)

2 votos

Gracias por una respuesta tan completa. No consigo entender cómo la fórmula RMS puede describir la desviación estándar sin dividir por el número de bolas. Si se compara con http://en.wikipedia.org/wiki/Root-mean-square_deviation_(bioinformática han dividido la suma entre N. ¿Debe dividirse la suma entre N o N-1 (ya que 40 bolas es sólo una selección de una población de bolas?)

0 votos

Después de hacer los cálculos de nuevo, parece que sqrt(SDx^2+SDy^2) es lo que busco. Esto me dará un radio para un círculo que contenga todas las bolas con una probabilidad del 65%, ¿verdad?

0 votos

Esa es una fórmula equivalente para el RMS, pero el valor del 65% es incorrecto, como se explica en esta respuesta.

5voto

Zizzencs Puntos 1358

Creo que tienes algunas cosas un poco confundidas. Es cierto que la distancia no puede ser negativa, pero eso no afecta al cálculo de la desviación típica. Aunque significa que la distribución de las distancias no puede ser exactamente normal, todavía podría estar cerca; pero incluso si está lejos de la normalidad, todavía hay una desviación estándar.

Además, no existe una desviación estándar "unilateral"; es posible que esté pensando en las pruebas de hipótesis (que pueden ser unilaterales o bilaterales). En tu título, dices que la media es 0, pero la distancia media no será 0 (¡a menos que las bolas estén en una pila de 40 bolas!) y dices que hay límites - podría haber límites, si las bolas se dejan caer en una habitación entonces no pueden estar más lejos del centro que la distancia a la pared más cercana. Pero a menos que algunas de las bolas reboten contra una pared, eso no afectará a las cosas.

Así que, una vez que tienes las 40 distancias, calculas la desviación estándar (y la media, la mediana, el rango intercuartil, etc.) utilizando métodos estándar. También puedes hacer gráficos de la distancia (por ejemplo, gráfico normal cuantílico, gráfico de caja) para ver si se distribuye aproximadamente de forma normal (si eso es de interés).

0 votos

Gracias Peter, no me expresé correctamente. Voy a intentar aclararlo: Imagina la escena de arriba. Calculas la distancia media, se ilustrará como un círculo alrededor del centro de masa (distancia media = radio). Ahora bien, una desviación de +/- std de esto dará lugar a un círculo más pequeño y a un círculo más grande. No quiero saber la desviación estándar de la distancia media al centro de masa, sino la desviación estándar desde el centro de masa hacia afuera. En otras palabras, dentro de qué radio desde el centro de masa se encuentra el 68,2% (una desviación estándar) de las bolas.

0 votos

Ah, vale. Entonces creo que no se trata de un problema de estadística sino de un problema matemático; se sabe dónde caerá el 68,2%... Olvidé la respuesta pero implica $\pi$ .

0 votos

Puede que tengas razón en tu primera respuesta. Por lo que he encontrado, el uso de la desviación estándar radial debería servir. RSD = sqrt(SDx^2 + SDy^2)

3voto

MaxW Puntos 201

Hace tiempo que se preguntó, pero la respuesta a la pregunta es que se trata de la distribución 2D denominada distribución de Rayleigh. Aquí la suposición es que el factor de forma de Rayleigh es igual a las desviaciones estándar de las coordenadas X e Y. En la práctica, el valor del factor de forma se calcularía a partir de la media agrupada de la desviación estándar de X e Y.

empezando por $$ X \sim \mathcal{N}(\mu_x,\sigma_x^2)$$ y $$Y \sim \mathcal{N}(\mu_y,\sigma_y^2)$$

utilizar la distribución normal bivariante. $$ f(x,y) = \frac{1}{2 \pi \sigma_x \sigma_y \sqrt{1-\rho^2}} \exp\left( -\frac{1}{2(1-\rho^2)}\left[ \frac{(x-\mu_x)^2}{\sigma_x^2} + \frac{(y-\mu_y)^2}{\sigma_y^2} - \frac{2\rho(x-\mu_x)(y-\mu_y)}{\sigma_x \sigma_y} \right] \right)$$

traducir a punto $$(\mu_x, \mu_y)$$ y asumir $$\rho = 0$$ .

Supongamos también que $$\sigma_x^2 = \sigma_y^2$$ por lo que hay que sustituir ambos por $$\sigma^2$$

entonces la distribución bidimensional se expresa como el radio alrededor del punto $$(\mu_x, \mu_y)$$ que se conoce como el Distribución de Rayleigh .

$$PDF(r; \sigma) = \frac{r}{\sigma^2 } \exp\left( - \frac{r^2}{2\sigma^2} \right) $$ donde $$\sigma = \sigma_x = \sigma_y$$ y $$r_i = \sqrt{(x_i - \mu_x)^2 + (y_i - \mu_y)^2}$$

$$ CDF(r; \sigma) = 1 - \exp\left( - \frac{r^2}{2\sigma^2} \right)$$

Por supuesto, esto es para la distribución continua. Para una muestra de sólo 40 bolas no hay solución exacta. Habría que hacer un análisis de Montecarlo con una muestra de 40 bolas. Taylor, M. S. y Grubbs, Frank E. (1975). "Distribuciones de probabilidad aproximadas para la dispersión extrema" encontró estimaciones para la distribución Chi y la log-normal para que se ajustara a la distribución de una muestra.


Edición - A pesar de la duda de Wuber, las proporciones teóricas que calculó son:

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

A partir de la función CDF, los valores acumulados de Sigma para r (en sigmas) oscilan entre:

0-1, 0-2, 0-3, ... , 0-10

son:

0.3935, 0.6321, 0.7769, 0.8647, 0.9179, 0.9502, 0.9698, 0.9817, 0.9889, 0.9933

1 votos

Gracias por nombrar la distribución. Sin embargo, al (1) no diferenciar entre el parámetro de la distribución y estimaciones de ese parámetro derivado de los datos, (2) no se indican las suposiciones (fuertes) necesarias sobre la distribución de las bolas, y (3) al ser impreciso, se corre el riesgo de engañar a los lectores. De hecho, no está claro cuál es la referencia de tu "esto": ¿sería la distribución de las ubicaciones de las bolas? (No.) ¿La distribución del centro de masa? (Sí, pero con un parámetro de escala que difiere de la desviación estándar de las bolas). ¿Quieres aclarar tu respuesta?

0 votos

Rellena los huecos....

0 votos

Gracias por las aclaraciones, Max. Como simple comprobación de la corrección de tu respuesta, consideremos una bola en lugar de $40$ . Tu respuesta parece afirmar que la distribución de la distancia entre esta bola y el centro de masa de todas las bolas es una distribución de Rayleigh. Por desgracia, en este caso esa distancia es siempre cero. (La pregunta la describe específicamente como "la distancia del centro de masa a cada bola, que se calcula mediante geometría simple"). Eso sugiere que tu respuesta puede ser errónea en todos los casos, incluso para $40$ bolas.

-1voto

hack Puntos 1

La distribución normal, tanto los valores positivos como los negativos, tiene sentido si se reconoce que esta distribución normal es para el radio o la "distancia al centroide". La otra variable, el ángulo, es aleatoria y se distribuye uniformemente de 0 a pi

0 votos

El radio, que nunca puede ser negativo, definitivamente no tienen una distribución normal.

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