Mi infraestructura para Python

Resumen:

  • He decidido usar RStudio como IDE para Python. RStudio no es el mejor IDE para desarrollar, pero es incomparablemente mejor que cualquier otro IDE para explorar, etc. Funciona muy bien y solo puede mejorar.
  • He decidido pasar de Jupyter. Los notebooks valen para lo que valen, pero no para lo que hago. En caso de necesidad, uso Rmarkdown con bloques de Python. De nuevo, funcionan muy bien y solo pueden mejorar.
  • Finalmente, he decidido pasar de Anaconda. Tiene incompatibilidades con RStudio. Particularmente, cuando los módulos de Python tratan de cargar shared libraries. Los módulos de Anaconda tienen el vicio de buscarlos dentro del directorio de instalación, pero al lanzar el intérprete de Python a través de reticulate, en Linux parece que los busca en el sistema (por debajo de /usr/lib y similares). Y todo se rompe mucho. Mucho y muy, muy feo.

Así que uso los Python (3.7 cuando puedo, otras versiones cuando me obligan) del sistema. Pero la instalación del sistema es mínima. He creado varios environments ad hoc (y dentro de un directorio ad hoc para ellos) y obigo a reticulate a usarlos (vía use_virtualenv()) según conveniencia. En ellos tengo todas las dependencias (de numpy para arriba).

Causalidad. Atribución. Madrid Central.

Si hay algo inaprensible, es la causalidad. No la que entiende Maripili, claro, sino esta. Pero vivimos en tiempos de tremendamente polémicas y presuntamente potentísimas y causas eficientes. Verbigracia, la desigualdad… y Madrid Central:

Argumentas en términos causales cuando esperas que te lea Maripili. Entre gente seria solemos hablar más bien de atribución. Lo de la atribución consiste en tratar de repartir un efecto entre posibles causas potenciales. Como típicamente no hay criterio definitivo, en la práctica funciona así:

Feria del libro, 2019

Fui a la Feria del Libro. El calor era el de L’Étranger. Comencé por la caseta uno. TOC. Riguroso orden hasta la cientiypico.

Libros, libros por todas partes…

Autoayuda. Autoayuda. Reverté (¿recopilatorio de artículos?). Libros rosas, libros con nombres y fotos de mujeres en la portada. Autoayuda. Infantil. Losantos y su Barcelona. Autoayuda. Dos pornógrafas. Los gatitos (y la filosofía) de Stoya. Autoayuda. DIY. Facsílmil de Voynich. Los mismos libros una y otra vez. Más autoayuda y libros facilongos. Marx y esas cosas.

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.

¿Escenarios jerárquicos? (para encuestas electorales en contextos multipartidistas)

Existe una brecha conceptual entre los pronósticos electorales,

que son continuos y cómo percibimos los resultados, de manera discreta: p.e., el partido X y el partido Y suman (o no).

Después de las elecciones, sobre todo de muchas de las últimas, el público siente perplejidad (frente a los resultados que acaban siendo) a la vista de las predicciones que se hicieron. Y los hacedores de pronósticos publican el consabido artículo explicando que esos escenarios que acabaron sucediendo estaban de alguna manera recogidos en sus (en el óptimo de los casos) histogramas.

¿Y si quitamos el puntico de arriba a la izquierda?

Esta entrada es una illustración de otra de no hace mucho, Análisis de la discontinuidad + polinomios de grado alto = … Mirad:

Se ha hecho un análisis de la discontinuidad usando parábolas a ambos lados del punto de corte. Y la discontinuidad no es pequeña. Pero me juego un buen cacho de lo que quede de mi reputación a que mucho de ella la explica el puntico de arriba a la izquierda.

Causalidad y desigualdad

Ni imaginar podéis hasta dónde me tiene lo gratuitamente con que muchos dan por hecha una relación causal entre desigualdad (economómica) y cualquier miasma social.

Yo creo que es que pocos leen cosas como estas (muy recomendable). Y sobre todo porque sale gratis mencionar el nombre de la sacrosantísima causalidad en vano. Con el peligro de que tal vez queramos invertir recursos en remediar el problema raíz y nos demos cuenta al conseguirlo de que, oh, no lo era realmente.

1 3 6 19 30 34 2 7 18 31 33 16 9 27 22 14 11 25 24 12 13 23 26 10 15 21 28 8 17 32 4 5 20 29 35

R

Son los enteros del 1 al 35 ordenados de forma que dos consecutivos en la serie suman un cuadrado perfecto. Los he obtenido así:

library(adagio)

foo <- function(n){
    desde <- 1:n
    hasta <- 1:n
    todos <- expand.grid(desde, hasta)
    todos <- todos[todos$Var1 < todos$Var2,]
    todos$sqrt <- sqrt(todos$Var1 + todos$Var2)
    todos <- todos[todos$sqrt == round(todos$sqrt),]
    todos$sqrt <- NULL
    vertices <- as.vector(t(todos))
    hamiltonian(vertices)
}

foo(35)

Notas:

  • Esta entrada está inspirada en algo que he visto en Twitter (pero cuya referencia he olvidado guardar).
  • Puedes probar con otros números, aunque no siempre existe un ciclo hamiltoniano.

Cotas superiores para el AUC

El AUC tiene una cota superior de 1. Concedido. Pero alguien se quejó de que el AUC = 0.71 que aparece aquí era bajo.

Se ve que ignora esto. Donde está todo tan bien contado que no merece la pena tratar de reproducirlo o resumirlo aquí.