Lognormal

El "teorema" sobre las sumas de lognormales no es solo falso sino que, además, es innecesario (en muchos casos)

I.

Hace un tiempo, reproduje el enunciado del siguiente teorema:

La suma de lognormales (independientes y con parámetros similares) es lognormal.

El teorema no es cierto. No puede serlo tanto por motivos teóricos como meramente empíricos. Es fácil

  1. tomar 3000 muestras de una lognormal con parámetros cualesquiera,
  2. sumarlos por tríos para obtener 1000 muestras $x_i$ de su suma,
  3. ajustar la mejor lognormal que se ajusta a ellos (pista: si se usa MV, los parámetros ajustados son la media y la desviación estándar de $\log x_i$),
  4. comparar las dos muestras (p.e., vía qqplots).

II.

Pero sí que es cierto que:

Tres "teoremas" que son casi ciertos

I.

Si $X_1, \dots, X_{12}$ son uniformes en [0,1] e independientes, entonces $latex X_1 + \dots + X_{12} - 6$ es una variable aleatoria normal.

Puede entenderse como un corolario práctico del teorema central del límite habida cuenta de que la varianza de $latex X_i$ es 1/12 y su media es 1/2.

Es útil porque, se ve, en algunos dispositivos embebidos no se dispone de una librería matemática extensa y, se ve, a veces hace falta muestrear la normal. Más, aquí.

El extraño caso de la media empírica menguante

La distribución lognormal es la exponencial de una distribución normal. Su media, Wikipedia dixit, es $latex \exp(\mu + \sigma^2 /2)$.

Dada una muestra de la distribución lognormal (y supuesto, por simplificar, $latex \mu=0$), podemos calcular

  • su media y
  • una estimación de su $latex \sigma$ y calcular $latex \exp(\sigma^2 /2)$

y uno pensaría que los valores deberían ser similares. Mas pero sin embargo,

library(ggplot2)

set.seed(123)

sigmas <- seq(1, 10, by = 0.1)

res <- sapply(sigmas, function(sigma){
  a <- exp(rnorm(1e6, 0, sigma))
  mean(a) / exp(var(log(a))/2)
})

tmp <- data.frame(sigmas = sigmas, medias = res)

ggplot(tmp, aes(x = sigmas, y = medias)) +
  geom_point() + geom_smooth()

produce