R

DLMs

O Distributed Lag Models (véase, por ejemplo, dLagM).

Son modelos para estimar el impacto de una serie temporal sobre otra en situaciones como la siguientes:

  • Una serie mide excesos de temperaturas (en verano).
  • La otra, defunciones.

Existe un efecto causal (débil, pero medible) de la primera sobre la segunda. Pero las defunciones no ocurren el día mismo en que ocurren los excesos de temperaturas, sino que suelen demorarse unos cuantos días.

r -> d -> p -> q

Primero fue la r (runif, rnorm, rpois,…).

De la r surgió el histograma.

Y el histograma era casi siempre parecido.

Y aquello a lo que se parecía se llamó d (dunif, dnorm, etc.).

Y era bueno.

(Obviamente, debidamente normalizado con integral 1, algo sobre lo que afortunadamente la tontuna de las identidades culturales aún no ha protestado).

La p, una integral de la d, es una conveniencia que permite contestar rápido determinadas preguntas razonables y habituales.

Se non è vero, non è vero (¡qué se le va a hacer!)

Me llegó por fuentes habitualmente fiables el vídeo

que se resume en que el apagón del día 29 de septiembre en Tenerife, es decir, esta cosa tan horrorosa

fue producto de la variabilidad de la producción de la energía eólica. En particular, de una bajada drástica de la aportación de la eólica al mix consecuencia de un descenso en la intensidad del viento. Lo cual, de ser cierto, debería convertirse en referencia básica para ilustrar los perniciosos efectos de la variabilidad, etc.

Voy a demostrar (con la ayuda del INE) que Airbnb no existe

Tan vasto es el fenómeno Airbnb que malo será no haya dejado traza en las estadísticas oficiales. Que como oficiales, son verdad.

No podemos hacer caso a las estadísticas de ocupación hotelera del INE porque son de lo de que dicen: hoteles (y asimilados). Airbnb tiene que dejarse notar en otra parte.

¿Cuál? Frontur, la estadística de movimientos turísticos en frontera del INE. (Sin enlace: los enlaces del INE van y vienen). Las cifras de Frontur proceden de encuestas a turistas que salen de España a los que se somete a un cuestionario y cuyos resultados se extrapolan al total de la población extranjera que circulan por las fronteras. Así que, a diferencia de la estadística de ocupación hotelera (donde el INE solo adquiere información de turistas que pernoctan en hoteles), en esta encuesta son los turistas, independientemente de donde hayan dormido, los que dicen dónde lo hicieron. Y los resultados son estos:

flygskam punto ceeseuve

R

Para todos aquellos a los que volar les da vergüenza. Para todos aquellos que han sido víctimas de Vueling o Ryanair. Para todos aquellos que saben que cualquier cosa del mundo se puede encontrar mejor y más barata en Lavapiés. Para todos aquellos que han ido a JFK para enterarse de que su vuelo salía de Newark. Para todos aquellos a los que les han cancelado un billete de vuelta porque se durmieron y perdieron la la ida. Para todos aquellos que consideran la manifestación culmen de la estupidez humana el lastimoso espectáculo de doscientos gilipollas saliendo de un avión.

BLAS, eficiencia y lme4

Cada cierto número de años me reencuentro con la cuestión de BLAS, ATLAS y todas esas cosas por tratar de arañar un poco de eficiencia a R.

Existen el BLAS de toda la vida que, parece ser, viene de serie con R y uno puede optar por otras versiones optimizadas como ATLAS u OpenBLAS, cuyas ventajas relativas, de acuerdo con estos benchmarks, no parecen demasiado claras.

Lo novedoso en esta revisita al problema es que he aprendido que a los anteriores se han sumado en estos últimos años, cuando menos:

ranger (o cómo el truco para hacerlo rápido es hacerlo, subrepticiamente, mal)

ranger llegó para hacerlo mismo que [randomForest](https://cran.r-project.org/package=randomForest), solo que más deprisa y usando menos memoria.

Lo que no nos contaron es que lo consiguió haciendo trampas. En particular, en el tratamiento de las variables categóricas. Si no andas con cuidado, las considera ordenadas (y ordenadas alfabéticamente).

[Si te da igual ocho que ochenta, no te preocupará el asunto. Tranquilo: hay muchos como tú.]

El diagnóstico dado (por eso lo omito) está contado aquí. La solución, a pesar de la aparente pretensión de los autores, no.

¿Qué variable distingue mejor dos subgrupos?

Es una pregunta que surge reiteradamente. Por ejemplo, cuando se compara un clúster con el resto de la población y uno busca las variables que mejor lo caracterizan. Y crear gráficos como

(extraído de aquí) donde las variables están ordenadas de acuerdo con su poder discriminador.

Mi técnica favorita para crear tales indicadores es la EMD (earth mover’s distance) y/o sus generalizaciones, muy bien descritas en Optimal Transport and Wasserstein Distance y disponibles en R y Python.

Mi consumo de electricidad, hora a hora

Por primera vez, mi compañía de electricidad ha sabido asignar a cada hora mi consumo (¿se acabarán de una vez las benditas facturas con consumo estimado?). Lo que me ha permitido construir esta gráfica horaria:

No publico el código por que dependería del proveedor. No hago comentarios porque solo a mí me competen. Pero invito a otros a echar un vistazo a su consumo, etc.

Un modelo que alimenta una simulación

Tenemos en Circiter un proyecto sobre el que no puedo dar muchos detalles, pero que vamos a plantear (en versión muy resumida) como un modelo que alimenta una simulación.

El modelo no va a ser un modelo sino un modelo por sujeto (rebaños, los llamamos aquí). Los modelos serán, casi seguro, modelos mixtos (lmer/glmer).

Pero claro, si usas un modelo, por muy mixto que sea, con intención de simular, predict se queda muy corto (¡siempre da la el mismo resultado!).

Del "Andalucía 'first'" al "La Rioja por doquier"

En este blog ya nos hemos graduado del “Andalucía first” (sí, esa reiterada manía a recordarnos que en Andalucía siempre hay más de todo lo que correlacione más o menos directamente con el número de habitantes).

Aquí nos llama la atención otro efecto que afecta a los segundos momentos: el “La Rioja por doquier”. Verbigracia:

Principado de Asturias (68,8%), La Rioja (35,5%) y Comunidad de Madrid (10,2%) registran los mayores aumentos anuales en el número de sociedades mercantiles creadas INE, un día cualquiera, en cualquier nota de prensa

(g)lms con coeficientes > 0 (p.e.)

  • Alguien quería un glm forzando determinados coeficientes >0.
  • Una solución 100% bayesiana no era una opción.

Hay varias opciones por ahí. Pero me ha sorprendido que la opción esté disponible en glmnet::glmnet:

Filosóficamente, es un tanto sorprendente: de alguna manera, glmnet es glm con prioris alrededor del cero. Los límites superiores e inferiores permiten introducir información a priori adicional no necesariamente compatible con la anterior.

Desde el punto de vista de la implementación, tiene sentido que estas opciones estén disponibles. glmnet usa coordinate descent como algoritmo de minimización e introducir restricciones en ese tipo de algoritmos es una trivialidad.