Conectar vía MCP →

Ingresar cálculo

Fórmula

Show calculation steps (1)
  1. Distribution Statistics

    Distribution Statistics: Generador de números aleatorios con distribución log-normal

    Theoretical mean, median, and variance of the log-normal distribution from mu and sigma.

Publicidad

Resultados

Números aleatorios log-normales generados
10
variables log-normales positivas (Box-Muller)
0.2.568027130
1.0.4037118086
2.22.55505525
3.0.2844168967
4.6.534914979
5.1.024825275
6.1.654460399
7.0.03012764364
8.3.152150647
9.0.2238988691
Theoretical mean E[X] = exp(μ + σ²/2) 20,085537
Theoretical median = exp(μ) 2,718282
Varianza teórica Var[X] 21.623,037001

Qué hace este generador

Esta herramienta produce una lista de números pseudoaleatorios que siguen una distribución log-normal. Una variable aleatoria X es log-normal cuando su logaritmo natural, \(\ln(X)\), sigue una distribución normal. El generador empieza creando variables normales estándar con la clásica transformación de Box-Muller, las escala hacia la normal objetivo \(N(\mu, \sigma^2)\) y, finalmente, aplica la exponencial para obtener valores log-normales estrictamente positivos.

Curva de densidad log-normal asimétrica con la media, la mediana y la moda marcadas
La distribución log-normal toma valores positivos y es asimétrica a la derecha, con moda < mediana < media.

Importante: qué significan mu y sigma

Los parámetros \(\mu\) y \(\sigma\) describen la distribución normal subyacente de \(\ln(X)\); no son la media ni la desviación estándar de la propia X. La media real de X es \(\exp(\mu + \sigma^2/2)\), la mediana es \(\exp(\mu)\) y la varianza es \((\exp(\sigma^2) - 1)\cdot\exp(2\mu + \sigma^2)\). Estos valores de referencia aparecen junto a tu muestra para que puedas comprobar de un vistazo que el resultado tiene sentido.

$$\begin{aligned} \text{Mean} &= \exp\!\left(\mu + \tfrac{1}{2}\sigma^{2}\right) \\ \text{Median} &= \exp\!\left(\mu\right) \\ \text{Var} &= \left(e^{\sigma^{2}} - 1\right) e^{\,2\mu + \sigma^{2}} \end{aligned}$$

Cómo usarlo

Introduce \(\mu\) (cualquier número real), \(\sigma\) (cero o positivo) y cuántos números quieres obtener (de 1 a 1000). Elige cuántas cifras significativas mostrar. Cada ejecución extrae nuevos números aleatorios uniformes, así que los valores cambian cada vez. Como el método de Box-Muller genera dos variables normales por cada par de uniformes, si pides una cantidad impar simplemente se descarta una variable sobrante.

La fórmula, paso a paso

Para uniformes \(U_1, U_2\) en \((0,1]\):

$$X = \exp\!\left(\mu + \sigma\, Z\right), \quad Z = \sqrt{-2\ln U_1}\,\cos(2\pi U_2)$$

\(Z = \sqrt{-2\cdot\ln U_1}\cdot\cos(2\pi\cdot U_2)\) da \(Z \sim N(0,1)\). Después, \(Y = \mu + \sigma\cdot Z\) es \(N(\mu, \sigma^2)\), y \(X = \exp(Y)\) es log-normal. Para evitar \(\ln(0)\), acotamos \(U_1\) con un epsilon mínimo.

Diagrama de flujo de la transformación de Box-Muller que convierte dos números uniformes en un valor log-normal
Dos números aleatorios uniformes se convierten en una Z normal estándar mediante Box-Muller, y luego se escalan y exponencian en X.

Ejemplo resuelto

Con \(\mu = 1\), \(\sigma = 2\), tomamos \(U_1 = 0.5\), \(U_2 = 0.25\). Entonces \(R = \sqrt{-2\cdot\ln 0.5} = 1.17741\). \(Z_1 = R\cdot\cos(\pi/2) = 0\) y \(Z_2 = R\cdot\sin(\pi/2) = 1.17741\). Así, \(X_1 = \exp(1) = 2.71828\) y \(X_2 = \exp(1 + 2\cdot 1.17741) = \exp(3.35482) \approx 28.64\). La media teórica \(\exp(3) = 20.0855\) y la mediana \(\exp(1) = 2.71828\) son coherentes.

Preguntas frecuentes

¿Por qué obtengo valores distintos en cada ejecución? Es un generador estocástico que usa Math.random(); sin una semilla fija, cada ejecución da resultados diferentes.

¿Qué pasa si sigma = 0? La distribución es degenerada y todos los valores son iguales a \(\exp(\mu)\).

¿Puede salir un valor negativo? No: el soporte de la log-normal es \((0, \infty)\), de modo que todos los resultados son estrictamente positivos.

Última actualización: