Estadística

Consensus clustering

No hay nada tan corrosivo para la fe en el clústering que probar una y otra vez k-medias (por ejemplo) sobre los mismos datos y ver cómo los resultados cambian drásticamente de ejecución en ejecución.

Pero eso viene a ser, esencialmente, lo que hay detrás del consensus clústering (CC), una técnica que puede ser usada, entre otros fines, para determinar el número óptimo de grupos.

La idea fundamental de la cosa es que observaciones que merezcan ser agrupadas juntas lo serán muy frecuentemente aunque cambien ligeramente las condiciones iniciales (por ejemplo, se tome una submuestra de los datos o cambien las condiciones iniciales de k-medias, por ejemplo). Si uno altera esas condiciones iniciales repetidas veces puede contar la proporción de las veces que las observaciones i y j fueron emparejadas juntas y crear la correspondiente matriz (simétrica, para más señas) $latex C(i,j)$.

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.

Tengo cuenta en Hypermind

Acaban de notificarme que han aprobado mi cuenta en Hypermind. Hypermind es un mercado de predicciones cuyo funcionamiento está descrito aquí y aquí mejor que yo pudiera hacerlo.

Ya iré contando. En tanto, una imagen extraída de uno de los enlaces anteriores que vale por mil palabras:

MoMo: una documentación oficiosa

Estos días se habla de MoMo y por primera vez en quince años largos, el público está contemplando gráficas como

que resumen lo más jugoso del sistema. MoMo (de monitorización de la mortalidad) es un sistema desarrollado por el ISCIII para seguir en tiempo casi real la evolución de la mortalidad en España.

Utiliza como fuente de datos fundamental la procedente de los registros civiles informatizados, que son la práctica mayoría (aunque no todos: queda excluido ~5% de la población). Además, las defunciones tienen cierto retraso en la notificación, como ya he comentado aquí.

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:

10k regresiones truchas para que cada cual elija la que más le cuadre

¿Recordáis la época en que existía una monocausa omnicacoexplicativa? Era la desigualdad que, a través de inefables mecanismos, generaba todo tipo de calamidades: infelicidad, enfermedad, inestabilidad política, etc.

Tal se sostiene en, p.e., The Spirit Level: Why More Equal Societies Almost Always Do Better, un libro donde se argumenta alrededor de gráficas tales como

Sin embargo, otro librito, The Spirit Level Delusion, revisitó esas cuestiones poco después y se dio cuenta de que si en lugar de tomar los datos de la fuente A los tomaba de la B; que si en lugar de usar cifras del año tal se usaba las del año cual; si se incluía el país X que aquellos habían considerado y se sacaba el Y, que solo se representaba a sí mismo, uno obtenía cosas tales como

El modelo SIR con inferencia

El modelo SIR es deductivo: dados una serie de parámetros, plantea una ecuación diferencial cuya solución es perfectamente limpia y determinista, tal como gusta a matemáticos y físicos:

Pero, ¿quién y cómo le pone al gato el cascabel de determinar los parámetros más adecuados para el modelo? Los parámetros son inciertos, ruidosos y producto de los datos que el modelo mismo quiere representar. Lo suyo sería enlazar la ecuación diferencial

Casos de coronavirus en Madrid provincia: un modelo un poco menos crudo basado en la mortalidad (II)

[Nota: el código relevante sigue estando en GitHub. No es EL código sino UN código que sugiere todos los cambios que se te puedan ocurrir. Entre otras cosas, ilustra cómo de dependientes son los resultados de la formulación del modelo, cosa muchas veces obviada.]

Continúo con la entrada de ayer, que contenía más errores que información útil respecto a objetivos y métodos.

Los objetivos del análisis son los de obtener una estimación del número de casos activos de coronavirus en la provincia de Madrid. La de los casos oficiales tiene muchos sesgos por culpa de los distintos criterios seguidos para determinarlos a lo largo del tiempo. Sin embargo, es posible que los fallecimientos debidos al coronavirus, antes al menos de que se extienda el triaje de guerra, son más fiables. Eso sí, la conexión entre unos (casos) y otros (defunciones) depende de una tasa de letalidad desconocida. El objetivo del modelo es complementar la información de los casos notificados con la de defunciones.

k-vecinos + lmer

El de los k-vecinos es uno de mis métodos favoritos de modelización. Al menos, teóricamente: luego, en la práctica, es complicado construir una función de distancias decente. Pero tiene la ventaja indiscutible de ser tremendamente local: las predicciones para una observación concreta dependen únicamente de su entorno.

lme4::lmer (y sus derivados) es ya casi la lente a través de la que imagino cómo operan las variables dentro de un modelo. Desafortunadamente, es un modelo global y no gestiona particularmente bien las interacciones, cuando son muchas y complejas.