Stan

"Proxys": error y sesgo en modelos lineales

El otro día publiqué un minihilo en Twitter que terminaba con una encuesta. Proponía el siguiente problema: Quiero, abusando del lenguaje, estimar el efecto de $x$ sobre $y$ usando el modelo lineal clásico $y = a_0 + a_1 x + \epsilon_1$. Pero no puedo medir $x$ con precisión. Solo tengo una medida ruidosa/aproximada de $x$, $z = x + \eta$, donde $\eta$ es normal, independiente de $\epsilon_1$, etc. Uso el modelo $y = b_0 + b_1 z + \epsilon_2$.

Nuevo vídeo en YouTube: charla con J.L. Cañadas

He subido un nuevo vídeo a mi canal, Es una charla de casi una hora con José Luis Cañadas. Comienza con Stan y luego deriva hacia otros temas de interés estadístico. Como digo en el resumen del vídeo, solo los últimos 3-4 minutos son prescindibles.

Encuestas (electorales), medios y sesgos

Me he entretenido estos días en crear un modelo que represente la siguiente hipótesis de trabajo: Los encuestadores electorales combinan tres fuentes de información: sus propios datos, el consenso de los restantes encuestadores y la voz de su amo, es decir, el interés de quien paga la encuesta. Es un modelo en el que se introduce (y se mide) el sesgo que introduce cada casa en los resultados. De momento (¡no fiarse!

Más sobre variables instrumentales con R

R
[El título de esta entrada tiene un + delante porque ya escribí sobre el asunto tiempo atrás.] Con la excusa de la reciente publicación del paquete ivreg (para el ajuste de modelos con variables instrumentales, por si el contexto no lo hace evidente), he mirado a ver quién estaba construyendo y ajustando modelos generativos menos triviales que los míos (véase el enlace anterior) para que quede más claro de qué va la cosa.

Optimización estocástica

R
Una de los proyectos en los que estoy trabajando últimamente está relacionado con un problema de optimización no lineal: tengo un modelo (o una familia de modelos) no lineales con una serie de parámetros, unos datos y se trata de lo que no mercería más explicación: encontrar los que minimizan cierta función de error. Tengo implementadas dos vías: La nls, que usa un optimizador numérico genérico para encontrar esos mínimos. (Nótese que uso nls y no nls porque esa función me queda muy corta).

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.

Casos de coronavirus en Madrid provincia: un modelo muy crudo basado en la mortalidad

R
[Nota: si no sabes interpretar las hipótesis embebidas en el código que publico, que operan como enormes caveats, no hagas caso en absoluto a los resultados. He publicado esto para ver si otros que saben más que yo lo pulen y consiguen un modelo más razonable usándolo tal vez, ojalá, como núcleo.] [Edición: He subido el código a GitHub.] [El código de esta sección y los resultados contienen errores de bulto; consúltese el código de GitHub.

Por si alguien lo toma literalmente

Escribe Gelman en términos irónicocelebratorios: OK, we can now officially say that Stan, as an open-source software, has recouped its societal investment. Apostilla Terry (en los comentarios), por si alguien se lo había tomado literalmente: Came here to say this. Review saved $20-$50 billion. Stan was involved in the Review. Therefore, Stan saved $20-$50 billion. AWOOOOOOOGAH!!! The economic Klaxon is deafening. Nope, nope, nope, nope. Porque siempre hay alguien sin sentido del humor.

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.

Abundando en la discusión sobre matemáticas y/o informática

Voy a abundar sobre la entrada de hace unos días, ¿Informática o matemáticas?, una pregunta muy mal planteada, mostrando simplemente un ejemplo del tipo de cosas que se espera de los matemáticos y/o estadísticos cuando trabajan en ciencia de datos y para las cuales los informáticos no están particularmente mejor entrenados (de serie) que otras especies faunísticas. Es este. ¿Cosas sobre las que podría hacer comentarios? Por ejemplo: Tampoco sé si el matemático o estadístico promedio podría desenvolverse con mediana soltura con ese tipo de modelos.

Modelos GARCH (o: no me cuentes tu vida, dame el pxxx modelo generativo y ya)

Los modelos GARCH son otra de esas cosas de las que oyes hablar y como nunca se convierten en problemas de los de carne en el asador, preocupan poco y ocupan menos (más allá de que sabes que se trata de modelos similares a los de series temporales de toda la vida donde la varianza varía de cierta forma a lo largo del tiempo). Pero comienzas a leer cosas como esta y no te enteras de nada: solo hay letras y llamadas a funciones oscuras y oscurantistas.