Factorización matricial con nulos

In illo tempore me llamaba mucho la atención encontrar métodos de ciencia de datos basados en factorización de matrices cuando la matriz a factorizar tenía nulos. Ocurre, por ejemplo, en sistemas de recomendación (cuando un usuario no ha visto o no nos ha dicho si le gusta determinada película).

Y claro, con un nulo en la cosa, te comes los apuntes de álgebra lineal con papas.

¿Cómo se hace? Si buscas $latex U$ y $latex V$ tales que $latex Y = UV^\prime$:

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.

Los modelos mixtos en Python son un bien público pero quienes debieran proveerlo están a otra cosa

Los modelos mixtos en Python son un bien público.

El sector privado no produce suficientes bienes públicos (con excepciones tan notables como las búsquedas en Google o las páginas aún sin paywall de los periódicos). El sector público y los impuestos que lo financian argumenta la conveniencia de su propia existencia en términos de esa provisión de bienes públicos que dizque realiza.

Pero ese subsector del sector público que debería implementar los modelos mixtos en Python se dedica a otra cosa. A cosas como estas.

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

Sobre mi nueva infraestructura de backups

Tengo dos ordenadores, tiramisu y ede. Uno va conmigo y el otro me espera en casa.

Hasta hace 4 días, usaba OwnCloud para mantenerlos sincronizados y, de paso, gestionar mis backups: siempre tenía tres copias de mis datos en tres sitios distintos (mis dos ordenadores y un VPS). Pero:

  • Alquilar un disco duro en la nube no es tan barato.
  • OwnCloud es un coñazo: hay que actualizarlo cada que se te olvida cómo.
  • OwnCloud es demasiado… aparatoso. Es más adecuado para organizaciones que para uso personal.

Buscando alternativas, llegué a una lista corta de dos:

Publicidad, #MeeToo y todo lo demás

Leyendo Ads Don’t Work That Way me han pasado dos cosas:

Y, efectivamente, el nudo del argumento del segundo está basado en ideas de un libro que había escrito el primero y que está en mi lista de lectura: The Elephant in the Brain.

Ver la I+D+i como un estado

Para el estado, la I+D+i es una cosa muy rara. Está descrita aquí. Pero el estado ve como un estado.

En mi mundo la I+D+i es otra cosa. Una cosa que se hace de oficio todos los días:

  • leer libros y artículos de estadística,
  • estar al tanto de las novedades tecnológicas,
  • hablar con los colegas de modelos,…,
  • visitar StackOverflow,
  • aprovechar las externalidades positivas del buscador de Google que todo el mundo ha olvidado agradecer,
  • leer mi blog,
  • etc.

Insisto: I+D+i hacemos. A espuertas. Pero, ¡ea, ea, ea, el estado no se entera!

La multivarianza total de la distancia no implica causalidad

Quería ser el primero en escribirlo. Para la posteridad.

Tenemos la correlación/covarianza, con todos sus usos y abusos.

En el 2011 se habló un tiempo de esto. Luego nunca más se supo.

La de Hellinger tiene un añito y un paquete en CRAN, menos trabajo de relaciones públicas y, no obstante, el mismo éxito que la anterior.

Y este año se añade a la lista la multivarianza de la distancia que, bueno, ¿qué queréis que os diga que no sea trivialmente extrapolable de lo anterior?

Esto no trata sobre lo que la ciencia es

Esto no trata sobre lo que la ciencia es sino sobre lo que la gente entiende que es. Que podría (y puede) explorarse mediante encuestas. Pero el dispendio es innecesario.

Basta con repasar aquellos atributos de la ciencia de los que tratan de investirse aquellos que, sin serlo, lo pretenden (y excúseseme el círculo vicioso). Como, por ejemplo, cátedras de mamandurrias.

Nota: esta inopinada idea es subproducto de leer esto.

Otra nota: es inútil discutir estos temas con paniaguados de la ciencia y de la impostora contraparte.

Más sobre la anonimidad y reidentificación en ficheros de microdatos

Ha tenido cierta repercusión durante el verano el articulo Estimating the success of re-identifications in incomplete datasets using generative models, del que se han publicado resúmenes tales como Bastan tres datos para identificar a cualquiera en una base anónima. Cosa sobradamene conocida desde hace la tira.

De hecho, se ha publicado esta herramienta para conocer tu riesgo de ser reidentificado, caso de que vivas en EEUU o el RU.

¿Y si vives en España? Siempre puedes leer esto, de lo que ya hablé (y resumí) aquí.

(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.