17 · Distribución Log-normal
Si log(X) es Normal, X es log-normal — el modelo natural para precios, salarios y todo lo que crece por multiplicación.
Si log(X) es Normal, entonces X es log-normal — el modelo natural para precios, salarios, tiempos de respuesta y todo lo que es multiplicativo.
Sin esto:
Sin ella, tratarías datos fuertemente sesgados hacia la derecha como Normales y subestimarías el riesgo de la cola.
Una variable aleatoria X es log-normal si su logaritmo está distribuido normalmente:
X es log-normal ⟺ log(X) ~ Normal(μ, σ²)
Los parámetros μ y σ son la media y desv. estándar de la Normal en escala logarítmica, no de X en sí.
¿Por qué surge la log-normal? Por el análogo multiplicativo del Teorema Central del Límite: si X = X₁ · X₂ · … · Xn es el producto de muchos factores positivos independientes (cada uno cercano a 1), entonces log(X) = log(X₁) + … + log(Xn) es una suma de VA independientes → Normal por el TCL. Por lo tanto X es log-normal.
Propiedades clave:
- PDF sesgada hacia la derecha — una cola derecha larga con muchos valores pequeños y raramente valores grandes
- Media > mediana — la media sube por la cola derecha; la mediana es un centro más robusto
- La transformación logarítmica la corrige: log(X) ~ Normal → hacer un histograma de log(X) da una campana
- Media de X: E[X] = exp(μ + σ²/2)
- Mediana de X: exp(μ) (porque exp es monótona y la mediana de log(X) es μ)
Fenómenos log-normales del mundo real: Precios de acciones, salarios, tiempos de respuesta, tamaños de archivos, poblaciones de ciudades, distribuciones de ingresos, patrimonio neto de los hogares — cualquier cantidad que se acumula mediante multiplicación (tasas de crecimiento, propagación de infecciones, interés compuesto) termina siendo log-normal.
Regla universal de EDA: Cuando ves un sesgo fuerte hacia la derecha en una característica numérica, la primera transformación a probar es np.log1p(x) (log(1 + x), que maneja x=0 correctamente). En la mayoría de los casos hace que la distribución sea aproximadamente Normal, permitiendo mejores modelos de regresión.
Python (in browser)
scipy.stats.lognorm(s=σ) crea una log-normal donde s es la σ de la Normal subyacente (μ=0 por defecto, establece scale=exp(μ) para cambiarlo). Media > mediana confirma el sesgo derecho. La PDF alcanza su pico bien por debajo de 1 y tiene una larga cola derecha.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Lado a lado: el panel izquierdo es el histograma log-normal sesgado a la derecha; el panel derecho es log(muestras) — una campana casi perfecta. La transformación logarítmica deshace literalmente el sesgo. Abre /tmp/lognormal.png para ver.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Los productos de 100 factores iid Normal(1, 0.1) tienen sesgo derecho (media > mediana), mientras que log(productos) es aproximadamente Normal con media ≈ −0.5 y desv. estándar ≈ 1.0. Este es el TCL multiplicativo: cuando una cantidad se construye a partir de muchos factores multiplicativos, tiende a ser log-normal.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Precios de acciones, salarios, tiempos de respuesta, tamaños de archivos, poblaciones de ciudades — todos siguen distribuciones log-normales porque surgen de procesos de crecimiento multiplicativo. La corrección universal de EDA es np.log1p(x): si el resultado parece Normal, usa la característica transformada logarítmicamente.
Si log(X) ~ Normal(0, 1), ¿cuál es la mediana de X?
- X es log-normal ⟺ log(X) ~ Normal(μ, σ²). PDF sesgada a la derecha, media > mediana, surge de procesos multiplicativos.
- **Mediana de X = exp(μ)** (invariante bajo la transformación exp monótona). **Media de X = exp(μ + σ²/2)** (elevada por la cola derecha).
- La transformación logarítmica corrige el sesgo derecho: log(X) ~ Normal. Usa `np.log1p` en EDA sobre características sesgadas a la derecha; predice log(y) para objetivos de regresión sesgados a la derecha.
La regresión lineal en log(precio) es un modelo de precios universal. Media geométrica / efectos multiplicativos. Muchas métricas de ML como el AUC son invariantes a la escala precisamente debido a los datos de estilo log-normal.
Si lo quitas: Sin transformaciones logarítmicas, tus modelos lineales se ahogan con objetivos de cola pesada.