La generación de variables aleatorias no uniformes o muestreo de números pseudoaleatorios es la práctica numérica de generar números pseudoaleatorios (PRN) que siguen una distribución de probabilidad dada . Los métodos se basan típicamente en la disponibilidad de un generador de PRN distribuido uniformemente . Luego se utilizan algoritmos computacionales para manipular una única variable aleatoria , X , o a menudo varias de estas variables, en una nueva variable aleatoria Y de modo que estos valores tengan la distribución requerida. Los primeros métodos fueron desarrollados para simulaciones de Montecarlo en el proyecto Manhattan , [ cita requerida ] publicado por John von Neumann a principios de la década de 1950. [1]
Para una distribución de probabilidad discreta con un número finito n de índices en los que la función de masa de probabilidad f toma valores distintos de cero, el algoritmo de muestreo básico es sencillo. El intervalo [0, 1) se divide en n intervalos [0, f (1)), [ f (1), f (1) + f (2)), ... El ancho del intervalo i es igual a la probabilidad f ( i ). Se extrae un número pseudoaleatorio distribuido uniformemente X y se busca el índice i del intervalo correspondiente. El i así determinado tendrá la distribución f ( i ).
Formalizar esta idea se hace más fácil utilizando la función de distribución acumulativa
Es conveniente establecer F (0) = 0. Los intervalos n son entonces simplemente [ F (0), F (1)), [ F (1), F (2)), ..., [ F ( n − 1), F ( n )). La principal tarea computacional es entonces determinar i para el cual F ( i − 1) ≤ X < F ( i ).
Esto se puede hacer mediante diferentes algoritmos:
Métodos genéricos para generar muestras independientes :
Métodos genéricos para generar muestras correlacionadas (a menudo necesarias para distribuciones de formas inusuales o de alta dimensión):
Para generar una distribución normal :
Para generar una distribución de Poisson :
La Biblioteca Científica GNU tiene una sección titulada "Distribuciones de números aleatorios" con rutinas para muestrear bajo más de veinte distribuciones diferentes. [5]
Cualquiera que considere métodos aritméticos para producir dígitos aleatorios está, por supuesto, en un estado de pecado.También está disponible en línea un escaneo de baja calidad de la publicación original.