Posts

¿Será cierto que gastaron 700 millones de libras en salvar la vida de un salmón cada diez años?

Hace un tiempo leí que los contribuyentes del RU invirtieron 700 millones de libras en salvar la vida de un salmón cada 10 años. Lo cual supera lo de los 100 millones de libras en salvar a unos murciélagos de ser atropellados por el tren chuchú.

Me preguntaba si sería cierto. ChatGPT me lo ha aclarado bastante:

Buena pregunta: la afirmación que mencionas es más o menos cierta, pero necesita contexto y matices. Esto es lo que sabemos sobre la situación (a finales de 2025) con Hinkley Point C, la nueva central nuclear del Reino Unido:

Construcción de intervalos de confianza para gráficos de calibración vía "bootstrap" y algunos asuntos más

Visualizing XGBoost Models with SHAP in Python: Feature Importance, Dependence, and Interaction Plots es otro tutorial sobre todas esas cosas. Pero a los interesados en la materia, les recomiendo la lectura sosegada de Interpretable Machine Learning.

Andrew Gelman discute el problema común de que los intervalos subjetivos del 50% suelen ser demasiado estrechos y que, como consecuencia, no capturan realmente el 50% de los resultados. Como solución, propone la siguiente estrategia: construir el intervalo intuitivo y luego ampliarlo por un factor fijo (p. ej., 1.5×) para mejorar la calibración. Aunque no es, obviamente, una solución completa, ofrece un punto de partida práctico para mejorar la calibración subjetiva de la incertidumbre.

Más sobre cómo obtener distribuciones uniformes dentro de triángulos

Pero hay otra forma de muestrear la distribución de Dirichlet (frase que no entenderán quienes no traigan esto leído):

  • Supóngase que tiene parámetros $(a_1, a_2, \dots, a_n)$.
  • Entonces se comienza muestreando una Beta de parámetros $(a_1, a_2 + \dots + a_n)$ para obtener $x_1$.
  • Y $x_j$ se obtiene a partir de una $B(a_j, a_{j + 1} + \dots + a_n)$ en el rango $[0, 1 - (x_0 + \dots + x_{j-1})]$.

Entonces, cuando hace una semana hacía

Notas varias sobre estadística y temas afines

  • Turning trig identities into Fibonacci identities muestra cómo ciertas identidades trigonométricas pueden transformarse de forma sistemática en identidades que involucran números de Fibonacci (y de Lucas). El motivo es que la estructura algebraica de las funciones trigonométricas involucra ciertas relaciones recurrentes, vinculándolas con los números de Fibonacci.

  • A quote from Nicholas Carlini sobre los LLMs y las extorsiones en la que describe cómo podrían ser las extorsiones del futuro. Ya no será “te robo los datos y me tienes que pagar para que te los devuelva” sino “usando un LLM sobre tus datos hemos encontrado indicios de ciertas actividades que, casi seguro, preferirías no fuesen conocidas por otros y nos tendrás que pagar para que no se las revelemos”.

¿Cómo obtener distribuciones uniformes dentro de triángulos?

Me entretuve el otro día en cómo muestrear uniformemente dentro de triángulos motivado por Randomly selecting points inside a triangle de John D. Cook.

Hay uno que se le ocurriría a cualquiera: el del rechazo. Se inserta el triángulo en un cuadrado y se seleccionan solo aquellos valores que caigan dentro del triángulo.

Hay otro, que no está en esa entrada, y que consiste en transformar el triángulo en un triángulo rectángulo mediante una transformación lineal que preserve el área (shear o cizallamiento), del tipo

Sobre la sentencia del caso Bosco y algunos otros asuntos más

  • The fate of “small” open source presenta un probable estado futuro del mundo del desarrollo de software, uno en el que los pequeños proyectos dejen de ser relevantes porque sus potenciales usuarios pueden reemplazarlos perfectamente por código ad hoc generado por LLMs. En efecto, hace años creé un paquete mínimo de R con apenas un par de funciones que implementaban ciertas pruebas estadísticas no disponibles en ningún otro por aquel entonces. En 2025 no haría falta ese paquete: bastaría con pedirle a Claude una implementación en R, copiarla y pegarla. El autor del artículo enlazado se queja de que algo se perderá en el proceso; yo creo que es algo por lo que no vale la pena llorar.

Reconstrucción de una distribución a partir de un histograma

Un viejo amigo me escribe y me propone (simplificándolo) el siguiente problema:

  • Tengo una normal de parámetros desconocidos.
  • De ella solo dispongo de un histograma.
  • ¿Cómo puedo reconstruir la normal original? Es decir, ¿cómo puedo estimar los $\mu$ y $\sigma$ originales?

En el caso concreto, la normal tiene una media próxima a 255 y los valores del histograma proceden de una muestra suya redondeada al entero más próximo.

Aquí va mi solución.

Una recomendación de lectura: "Systemantics"

Estoy leyendo Systemantics, un delicioso y breve libro de John Gall sobre la teoría de los sistemas. Dice de él la Wikipedia:

Discute cómo no diseñar sistemas, basándose en fracasos de ingeniería de sistemas. La idea principal del tratado es que los sistemas grandes y complejos son extremadamente difíciles de diseñar correctamente a pesar de las mejores intenciones, por lo que se debe tener cuidado de diseñar sistemas más pequeños y menos complejos, y hacerlo con funcionalidad incremental basada en un contacto cercano y continuo con las necesidades de los usuarios y las medidas de efectividad.

Una nota sobre la simulación por el método del rechazo

El otro día publiqué un pequeño fragmento de código,

a <- 2.89
b <- 36.81
sample_dist <- function() rbeta(1, a, b)

sample_p <- function(y){
  candidate <- sample_dist()
  my_sample <- runif(1)

  if (y == 1) if (my_sample < candidate) return(candidate)
  if (y == 0) if (my_sample < 1 - candidate) return(candidate)

  sample_p(y)
}

p1 <- replicate(100000, sample_p(1))
p0 <- replicate(100000, sample_p(0))

auc <- mean(p1 > p0)
auc

que había usado antes aquí, para muestrear unas distribuciones relacionadas con el cálculo del AUC en modelos perfectamente calibrados. Lo había escrito meses atrás y supongo que me pasó como a la mayoría de mis lectores: darlo por bueno primero y usarlo después suponía todo un acto de fe (en mí, además).

Unas cuantas notas sobre estadística, teoría y de la decisión y otras cuestiones

Un artículo sobre cómo crear intervalos de predicción conformes en modelos de ML, en particular con modelos basados en XGBoost. Y otro, este, sobre cómo inferir el tamaño muestral a partir de su anchura.

También de John D. Cook, ODE to Fisher’s transform. Aparentemente, para normalizar el coeficiente de correlación se puede aplicar una transformación en la que interviene atanh y cuya derivación exige resolver una ecuación diferencial ordinaria. Por su parte, la ecuación diferencial surge de igualar el desarrollo de la curtosis a cero.