Notas (9): Algunos enlaces y comentarios sobre temas estadísticos

Mills ratio and tail thickness — John D. Cook nos habla de la razón de Mills ($\int_x^\infty f(t) dt / f(x)$) para estudiar el grosor de las colas de las distribuciones de probabilidad. Por ejemplo, aunque una distribución t con muchos grados de libertad es muy similar a una normal en la parte central, la razón de Mills las distingue claramente por su distinto comportamiento en las colas. What is “workflow” and why is it important? — Sobre el flujo de trabajo del análisis de datos (con inspiración bayesiana), según Andrew Gelman (y sus coautores). R Workflow es la reinterpretación de Frank Harrell del mismo asunto. ...

23 de febrero de 2026 · Carlos J. Gil Bellosta

Sobre un inesperado factor que convierte subrepticialmente una distribución a priori en informativa

La distribución predictiva a priori es la que se obtiene de un modelo a partir de las prioris, antes de ver datos o realizar ajustes. Se utiliza para evaluar el grado en que las prioris elegidas están dentro de rango y no generan datos que no se parecen en nada a los que se espera por conocimiento previo. El libro Bayesian Modeling and Computation in Python discute las distribuciones predictivas a priori en su segundo capítulo. Allí argumenta alrededor de dos ejemplos. El primero está elegido a propósito para defender el caso de las prioris informativas frente a las objeciones de sus innumerables escépticos. El segundo es más intrigante. Muestra el gráfico ...

18 de febrero de 2026 · Carlos J. Gil Bellosta

Notas (8): código generado por humanos, código inspirado por humanos

Jeff Soules dio una charla sobre buenas prácticas de programación (particularmente acerca de técnicas para mejorar la legibilidad del código) y publicó las correspondientes diapositivas. Guillermo Luijk siempre escribe cosas interesantes. De entre sus últimas: Optimizando el paseo de perros con R Distribuciones normales en la torre de Pisa Perspectiva aérea desde mapa de elevaciones con C++ A Software Library with No Code describe un experimento que muchos considerarán distópico: usando LLMs, se pueden crear y compartir abstracciones reutilizables; en este caso concreto, descripciones detalladas sobre cómo debería funcionar una determinada librería pero sin escribir una sola línea de código tradicional. El usuario de esta metalibrería utilizaría un LLM para obtener una implementación en el lenguaje objetivo de su elección: Python, etc. Hay gente que utiliza LLMs para portar librerías de un lenguaje a otro; esta metalibrería representa un pequeño nivel adicional de abstracción: la descripción de lo que ha de hacer no está descrita en código sino en instrucciones verbales precisas e interpretables por los LLMs. Habría que ver si el lenguaje natural es preferible a código —que es una forma concreta de seudocódigo— para describir lo que se espera de la librería; porque lo que se espera de este (del código) es que sea más específico y menos ambiguo que aquel (el natural) a la hora de describir algoritmos fielmente.

16 de febrero de 2026 · Carlos J. Gil Bellosta

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

2 de diciembre de 2025 · Carlos J. Gil Bellosta

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

25 de noviembre de 2025 · Carlos J. Gil Bellosta

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

20 de noviembre de 2025 · Carlos J. Gil Bellosta

¿Reemplaza pxmake a pxR? Espero que sí (y, además, que ninguno de los dos haga falta pronto)

De pxR ya he hablado alguna vez. Pueden verse las entradas que le he dedicado aquí. pxR es un paquete coral de R que promoví, en el que escribí la mayor parte del código y que aún mantengo muy renuentemente. Permite leer y crear ficheros con el formato px, que utilizan todavía algunos servicios de estadística pública por el mundo. Eso no quita que “antediluviano” sea el adjetivo que mejor lo describe: fue creado antes de la popularización de los formatos modernos y, no en vano, la última de las entradas que le dediqué allá por 2023 se titulaba ¿Dejar morir pxR? ...

22 de mayo de 2025 · Carlos J. Gil Bellosta

Un par de novedades de R 4.4.0 y algunos otros asuntos más

I. Una vulnerabilidad asociada a R y un análisis sobre la intrahistoria de la misma. Se refiere a la importación acrítica de ficheros binarios de datos en R, en los que un agente malicioso puede haber insertado código que no quieres ver corriendo en tu máquina. II. Hay gente que busca asociaciones en tablas con millones de celdas, la mayor parte de las cuales tienen valores 0 o 1. Es un problema con la peor de las pintas del mundo, pero hay artículo y código. ...

26 de junio de 2024 · Carlos J. Gil Bellosta

Cortos (sobre R)

I. El artículo Locally Adaptive Tree-Based Thresholding Using the treethresh Package in R describe una versión sofisticada de un truco que suelo usar para detectar cambios de régimen, etc., en series temporales: Quieres modelar una serie temporal Pero hay motivos para pensar que en realidad es la concatenación de varias series temporales distintas, con regímenes distintos. Quieres filtrar y quedarte con la representativa de hoy (y el corto plazo venidero). Luego usas árboles más o menos como en el artículo. II. Lo que se cuenta aquí me gusta y no me gusta: ...

17 de abril de 2024 · Carlos J. Gil Bellosta

Cortos (sobre IA y LLMs, fundamentalmente)

I. Que ssh tenía una puerta trasera (en sus últimas versiones). Está por todas partes, incluido en The Economist. Pasó, se ve, esto: La puerta trasera fue plantada en las XZ Utils. Su principal mantenedor es un tal Lasse Collin, que, se dice, no parece andar muy bien de salud mental. Otro desarrollador, Jia Tan, colaboró en el proyecto durante un tiempo. Finalmente, en febrero, acabó insertando el código malicioso. Se ve que el tal Jia Tan no existe; probablemente, se trate de una identidad falsa manejada por… ¿el gobierno ruso? Véase también esta descripción más técnica y detallada. ...

9 de abril de 2024 · Carlos J. Gil Bellosta