Estadística Bayesiana

Regresión tradicional vs multinivel

Ayer se leía en Twitter que

Cabe preguntarse qué pasa si se analizan los mismos datos usando ambas técnicas. Obviamente, hay muchos tipos de datos y supongo que los resultados variarán según qué variante se utilice. Aquí voy a centrarme en unos donde hay medidas repetidas de un factor aleatorio. También voy a situarme en un contexto académico, en el que interesan más las estimaciones de los efectos fijos, que en uno más próximo a mi mundo, la consultoría, donde son más relevantes las estimaciones regularizadas de los efectos aleatorios.

Spike and slab: otro método para seleccionar variables

Me sorprende ver todavía a gente utilizar técnicas stepwise para la selección de variables en modelos. Sobre todo, existiendo herramientas como elastic net o lasso.

Otra de las técnicas disponibles es la del spike and slab (de la que oí hablar, recuerdo, por primera vez en el artículo de Varian Big Data: New Tricks for Econometrics). Es una técnica de inspiración bayesiana en cuya versión más cruda se imponen sobre las variables del modelo de regresión prioris que son una mezcla de dos distribuciones:

Comparación y selección de modelos bayesianos

En el mundo bayesiano existen, cuando menos, dos escuelas:

  • La flowerpower, que sostiene que los modelos bayesianos son subjetivos y, por lo tanto, inasequibles a la confrontación con la realidad objetiva.
  • La de los que tienen un jefe que les paga un salario, al que le da igual si los modelos son bayesianos o no pero a quien le interesa por encima de todo saber si representan razonablemente el proceso subyacente.

Los segundos cuentan con referencias como Comparison of Bayesian predictive methods for model selection. Es un artículo, en cierto modo, desasosegadoramente antibayesiano: miradlo y encontraréis en él cosas que se parecen demasiado a la validación cruzada, al RMSE, etc.

GoF para modelos bayesianos

Existe una muy perezosa escuela de pensamiento que sostiene que dado que las probabilidades son subjetivas, cualquier modelo y, en particular, los bayesianos, como expresión de la subjetividad de sus autores, no necesita ser contrastado con la realidad. Porque, de hecho, la realidad no existe y es una construcción que cada cual hace a su manera, deberían añadir.

Existe, por supuesto, una escuela realista tan mayoritaria que ni siquiera es consciente de que lo es. Basta leer la primera página de Statistical Modeling: The Two Cultures para hacerse una idea muy clara de a lo que me refiero.

La probabilidad, ¿algo subjetivo?

Esta entrada es una contestación a

I.

Habrá quien sostenga que la geometría (plana, euclídea, por antonomasia) es subjetiva, que es una construcción de la mente, de cada mente. Igual queda todavía alguno de los que, por el contrario, creían que los triángulos equiláteros residen en una especie de edén donde tienen una existencia ideal y que nuestra mente, de alguna manera, se limita a reflejarlos.

Los factores de Bayes son las hamburguesas veganas

Si eres vegano, vale, come tu lechuga y tu berenjena. Pero, ¿qué necesidad tienes de hamburguesas veganas? ¿Y a qué viene ufanarte de que saben casi igual?

[Nota: el párrafo anterior está escrito en condicional y aplica a ciertos veganos, entrellos alguno que conozco.]

Siempre he visto todo lo que rodea a los factores de bayes un tufillo a hamburguesa vegana. Es decir, un intento por reproducir lo más fidedignamente posible aquello que —¿por razones metodológicas?— rechazamos.

bamlss promete regresión bayesiana flexible

R

Un paquete relativamente nuevo de R (las primeras versiones son de 2017) que llevo un tiempo siguiendo de reojo es bamlss.

bamlss es un paquete que permite especificar y ajustar varios tipos de modelos usando en principio métodos bayesianos, aunque tampoco necesariamente.

No puedo decir mucho más de él de momento. Habrá que ver cómo se comporta más allá de los ejemplos discutidos en la documentación. Muchos paquetes tienden a hacer trivial lo que antes era sencillo e imposible lo que antes difícil. Espero que no sea el caso y que acabe facilitando la divulgación de herramientas estadísticas avanzadas más allá del consabido $latex y \sim x_1 + x_2 + \dots$ envuelto sea en lm o en XGBoost.

A más gripe, ¿menos mortalidad? En determinados submundos frecuentistas, sí

Estos días he tenido que adaptar y ejecutar con datos españoles una serie de modelos para medir la virulencia de diversos subtipos de gripe. Y todo bien, salvo que para uno de ellos y determinados grupos de edad… a mayor prevalencia, menor mortalidad. ¡Estupendo!

Todo sucede porque un coeficiente que debería haber sido necesariamente positivo fue estimado como negativo (además, significativamente).

Y el coeficiente tenía el signo cambiado (¡error de tipo S!) debido a una serie de problemas sobradamente conocidos:

Pyro

Leyendo sobre si dizque PyTorch le siega la hierba debajo de los pies a TensorFlow, averigué la existencia de Pyro.

Pyro se autopresenta como Deep Universal Probabilistic Programming, pero aplicando métodos porfirianos (ya sabéis: género próximo y diferencia específica), es, o pretende ser, Stan en Python y a escala.

Aquí van mis dos primeras impresiones, basadas en una inspección superficial de los tutoriales.

En primer lugar, aunque Pyro permite usar (distintas versiones de) MCMC, parece que su especialidad es la inferencia variacional estocástica. Que parece funcionar de la siguiente manera. En el MCMC tradicional uno obtiene una muestra de la distribución (a posteriori, para los amigos) de los parámetros de interés. Eso es todo: vectores de puntos. En la inferencia variacional estocástica, uno preespecifica la forma paramétrica de la posteriori y el algoritmo calcula sus parámetros a partir de los valores simulados. Por ejemplo, uno va y dice: me da que la distribución del término independiente de mi regresión lineal va a ser normal. Entonces, Pyro responde: si es normal, la mejor media y desviación estándar que encuentro son tal y cual.