1 votos

Obteniendo una distribución normal al muestrear una distribución uniforme

Me encontré con un comportamiento que de alguna manera tiene sentido para mí, pero no recuerdo exactamente por qué, y estaré encantado de escuchar una explicación.

Para simplificar las cosas (no fue un experimento intencionado), estaba dibujando enteros en el rango [1, 10000], cada número con la misma probabilidad (1/10000). Repetí esto unas 200.000 veces. Para cada número (de 1 a 10000), escribí cuántas veces se había dibujado. Luego, conté cuántos números aparecieron una vez, cuántos números aparecieron 2 veces, y así sucesivamente. Esto me dio una distribución normal. ¿Está relacionada con la distribución original siendo uniforme? ¿O es debido al Teorema del Límite Central? ¿Debería suceder en cualquier tipo de distribución?

Gracias.

1 votos

Esa es una distribución de Poisson con $\lambda=20$. Claro, se parece mucho a la normal.

0 votos

Es debido al CLT.

1voto

BruceET Puntos 7117

Muestreo de una distribución uniforme continua, encontrarás que el Teorema del Límite Central comienza a 'converger' a normal para tamaños de muestra sorprendentemente pequeños $n.$

Si sumo $n=12$ observaciones independientes de $\mathsf{Unif}(0,1)$ y resto $6,$ la variable aleatoria resultante será muy cercana a una normal estándar: $Z = \sum_{1=1}^{12} U_i - 6 \stackrel{aprx}{\sim}\mathsf{Norm}(0,1).$ Demostración de mil valores utilizando R:

set.seed(317)
z = replicate(1000, sum(runif(12))-6)
summary(z);  sd(z)
     Min.   1st Qu.    Mediana      Media   3rd Qu.      Máx. 
-3.265696 -0.720931  0.006213  0.003641  0.704164  2.854923 
 [1] 1.010645  # desviación estándar de la muestra

Una prueba de Shapiro-Wilk no detecta diferencia con normal.

shapiro.test(z)

        Prueba de normalidad de Shapiro-Wilk

data:  z
W = 0.99823, valor de p = 0.3946

Y una prueba de Kolmogorov-Smirnov no detecta diferencia con una normal estándar.

ks.test(z, pnorm)

        Prueba de Kolmogorov-Smirnov de una muestra

data:  z
D = 0.020192, valor de p = 0.8096
hipótesis alternativa: bilateral

Un histograma de los 1000 valores de $Z$ generados de esta manera muestra un ajuste razonable a una curva de densidad normal estándar.

hist(z, prob=T, col="skyblue2", main="Aprox NORM(0,1) de Muestra de Uniformes")
 curve(dnorm(x), add=T, col="orange", lwd=2)

introducir descripción de la imagen aquí

Finalmente, un gráfico de cuantiles normal es muy cercano a lineal:

qqnorm(z, pch=20); qqline(z, col="green2")

introducir descripción de la imagen aquí

Este método de generación de (casi) una distribución normal estándar no es perfecto (12 está lejos del infinito), pero se utilizaba para obtener distribuciones aproximadamente normales en los primeros días de la informática porque involucra solo aritmética simple. Sin embargo, nota que este método no puede proporcionar valores fuera del intervalo $[-6, 6],$ mientras que la distribución normal estándar teóricamente toma valores en toda la recta real.

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