Estoy tratando de tomar una distribución normal de puntos, y forzarlos a convertirse en una distribución uniforme. He tenido poco éxito en S.O. Así que pensé en preguntar aquí.
Básicamente, tengo una función hash que toma un X
, Y
y el valor de la semilla y genera números en una distribución normal con una media de 0. Estos números varían sólo ligeramente de los números en todos los lados de ellos. Cuando se mapea con el X
y Y
y que el valor hash sea Z
crea un mapa del terreno. El mapa tiene algunos picos grandes más allá de 1 y -1, pero el 50% de los valores se encuentran entre (-0,4,0,4). Estoy tratando de suavizar este mapa para que conserve su forma, pero tenga una distribución más o menos uniforme (en lugar de normal).
Como he dicho, el 50% de los valores se encuentran entre (-0,4,0,4). El límite teórico de la función hash es (-2,25,2,25), aunque después de generar mil millones de muestras, el rango de números encontrados fue de aproximadamente (-1,75,1,75).
Creo que tengo que tomar la información anterior para determinar la distribución normal mejor ajustada, y luego utilizarla para transformar cada valor. Como descubrí en S.O., es un problema realmente difícil de explicar. Espero que alguien aquí pueda al menos indicarme la dirección correcta para explicarlo, o que entienda lo que estoy tratando de hacer.
Las densidades de probabilidad de mi distribución, en azul, y Normal(0,.72)
En rojo: [-3.8,3.8]
Sus probabilidades acumuladas: [-3.8,3.8]
La densidad de probabilidad después de la transformación de probabilidad inversa: [0,1]
Y la probabilidad acumulada en comparación con Uniform
: [0,1]