Calibración de probabilidades y curvas de lift
Estadística · Lección 16
Objetivo
Al terminar esta lección se puede:
- Definir qué significa que un pronóstico probabilístico esté calibrado y por qué eso no basta para que sea bueno.
- Demostrar que el score de Brier es una regla de puntuación propia —se minimiza diciendo la verdad— y descomponerlo en calibración, resolución e incertidumbre.
- Construir la curva de ganancia y el lift, y acotar cuánto puede valer el lift antes de mirar ningún modelo.
- Demostrar que una transformación creciente del pronóstico no cambia ni el lift ni la resolución, solo la calibración, y usar eso para recalibrar sin perder nada.
De dónde viene
- Estadística 4: la esperanza condicional y la varianza de una Bernoulli, \text{Var}(Y)=\bar{y}(1-\bar{y}). La descomposición de la Proposición 16.6 es la ley de la varianza total aplicada a un pronóstico.
- Estadística 5: la covarianza y la idea de descomponer una variación en piezas que suman.
- Estadística 10: la Proposición 10.8, que el valor p es uniforme bajo H_0, es el mismo tipo de afirmación que la calibración: una cantidad anunciada como probabilidad tiene que comportarse como tal cuando se mira la frecuencia real.
- Estadística 15: si la etiqueta Y falta de forma no aleatoria, la frecuencia real que se compara contra el pronóstico ya viene sesgada, y la curva de calibración miente antes de empezar.
Para qué sirve después
- Lección 17: elegir el umbral que hace lucir mejor al modelo, después de ver los datos, es la misma contabilidad tramposa que elegir la prueba que da el valor p más bajo.
- Aprendizaje automático: toda salida
predict_probaes un pronóstico probabilístico, y casi ninguna sale calibrada de fábrica. La Proposición 16.11 dice que recalibrar es gratis en términos de orden. - Decisiones con umbral: avisar, revisar o intervenir sobre el u\,\% más probable es exactamente la curva de ganancia; el techo de la Proposición 16.10 dice cuánto se puede esperar antes de construir nada.
- ISLP cap. 4 Classification es lo más cercano a este material dentro del plan: trata la curva ROC y las matrices de confusión, que son primas de la curva de ganancia, pero no la calibración.
Notación
| Símbolo | Se lee | Significado |
|---|---|---|
| n | ene | Tamaño de la muestra: aquí, número de días pronosticados |
| Y | ye | El resultado, 0 o 1. En esta lección, si llovió |
| q(x) | cu de equis | La probabilidad verdadera, P(Y=1\mid X=x). Solo en esta lección; en la 15 era la propensión de respuesta |
| f, \hat{p} | efe, pe sombrero | El pronóstico: \hat{p}=f(X)\in[0,1], lo que el modelo anuncia |
| \text{BS} | be ese | Score de Brier, E[(\hat{p}-Y)^2] |
| \bar{y}_p | ye barra sub pe | Frecuencia real entre los días en que se anunció p: E[Y\mid \hat{p}=p] |
| \bar{y} | ye barra | La tasa base, E[Y] |
| G(u) | ge de u | Ganancia: fracción de todos los positivos que cae en el u por uno mejor ranqueado |
| L(u) | ele de u | Lift, G(u)/u |
1. Decir 30 % y que llueva el 30 %
Definición 16.1 (pronóstico probabilístico). Una función f que a cada día con características X le asigna un número \hat{p}=f(X)\in[0,1], leído como la probabilidad de que Y=1. Se escribe q(x)=P(Y=1\mid X=x) para la probabilidad verdadera.
Definición 16.2 (calibración). El pronóstico está calibrado si para todo valor p que anuncia, E[Y \mid f(X)=p] = p. Es decir: entre los días en que dijo 30 %, llovió el 30 % de las veces.
La definición se lee sobre los días agrupados por lo que se anunció, no día por día. Un día concreto llueve o no llueve; la afirmación «30 %» no se puede contrastar con un solo día, y sí con los cientos de días en que se dijo lo mismo. Eso es también lo que hace comprobable un pronóstico probabilístico, que a primera vista parece incontrastable.
Definición 16.3 (score de Brier). \text{BS} = E\big[(f(X)-Y)^2\big], el error cuadrático medio del pronóstico contra el resultado 0/1. Cuanto menor, mejor.
La primera pregunta es si conviene decir la verdad. Un score mal elegido premia mentir: si a un pronosticador se le puntúa por acertar el sí o el no, le conviene anunciar siempre 0 o 1 aunque no esté seguro. El de Brier no tiene ese defecto.
Proposición 16.4 (el score de Brier es propio). Para un día con probabilidad verdadera q, anunciar p cuesta E\big[(p-Y)^2\big] = (p-q)^2 + q(1-q). El mínimo es único y está en p=q. En consecuencia, sobre toda la población, \text{BS} \ge E[q(X)(1-q(X))], con igualdad exactamente cuando f(X)=q(X) casi seguro.
Demostración. Como Y vale 0 o 1, Y^2=Y y E[Y]=E[Y^2]=q. Entonces E[(p-Y)^2] = p^2 - 2pE[Y] + E[Y^2] = p^2 - 2pq + q = (p-q)^2 + q - q^2, sumando y restando q^2. El primer sumando es un cuadrado que se anula solo en p=q y el segundo no depende de p, así que el mínimo es único. Para la versión global, tómese esperanza sobre X en la identidad anterior con p=f(X) y q=q(X): \text{BS} = E\big[(f(X)-q(X))^2\big] + E\big[q(X)(1-q(X))\big], donde el primer término es no negativo y vale cero solo si f=q casi seguro. ∎
Que el score sea propio es lo que permite usarlo como criterio: quien quiera minimizarlo no tiene ningún incentivo para exagerar ni para acobardarse. El segundo término, E[q(1-q)], es el ruido irreducible: aunque se conociera la probabilidad verdadera de cada día, el Brier no bajaría de ahí.
La primera tabla es la Proposición 16.4 medida: el Brier de anunciar 0,05 cuando la verdad es 0,30 vale 0,2732 y el de anunciar 0,30 vale 0,2103, que es q(1-q). La segunda repite la cuenta sobre un pronóstico completo: correrlo dos puntos hacia arriba o hacia abajo ya lo empeora, y el mínimo está en no moverlo.
2. Las tres piezas de un pronóstico
Un Brier bajo puede venir de dos virtudes distintas —decir el nivel correcto y separar los días entre sí— y de una circunstancia ajena: que el fenómeno sea fácil. La descomposición las separa.
Proposición 16.5 (descomposición). Sea P=f(X) el pronóstico, \bar{y}_P = E[Y\mid P] la frecuencia real de su nivel y \bar{y}=E[Y] la tasa base. Entonces \text{BS} \;=\; \underbrace{E\big[(P-\bar{y}_P)^2\big]}_{\text{falta de calibración}} \;-\; \underbrace{E\big[(\bar{y}_P-\bar{y})^2\big]}_{\text{resolución}} \;+\; \underbrace{\bar{y}(1-\bar{y})}_{\text{incertidumbre}}.
Demostración. Escríbase (P-Y)^2 = \big((P-\bar{y}_P) + (\bar{y}_P-Y)\big)^2 y tómese esperanza condicionando en P: E[(P-Y)^2\mid P] = (P-\bar{y}_P)^2 + 2(P-\bar{y}_P)\,E[\bar{y}_P - Y\mid P] + E[(\bar{y}_P-Y)^2\mid P]. El término cruzado se anula porque E[Y\mid P]=\bar{y}_P por definición. El último es la varianza de una Bernoulli de parámetro \bar{y}_P, es decir \bar{y}_P(1-\bar{y}_P) —lección 4—. Tomando esperanza sobre P, \text{BS} = E\big[(P-\bar{y}_P)^2\big] + E\big[\bar{y}_P(1-\bar{y}_P)\big]. Queda reescribir el segundo sumando. Como E[\bar{y}_P]=E[E[Y\mid P]]=\bar{y} por la torre de esperanzas, E\big[\bar{y}_P(1-\bar{y}_P)\big] = E[\bar{y}_P] - E[\bar{y}_P^2] = \bar{y} - \big(\text{Var}(\bar{y}_P) + \bar{y}^2\big) = \bar{y}(1-\bar{y}) - E\big[(\bar{y}_P-\bar{y})^2\big], usando E[Z^2]=\text{Var}(Z)+E[Z]^2 con Z=\bar{y}_P. Sustituyendo se obtiene el enunciado. ∎
Las tres piezas se leen así. La incertidumbre \bar{y}(1-\bar{y}) no depende del pronóstico: es del clima, no del pronosticador. La falta de calibración mide cuánto se despega lo anunciado de lo que pasó, y es lo único que el pronosticador puede llevar a cero diciendo la verdad. La resolución mide cuánto separa los días: cuánto se alejan las frecuencias reales de sus grupos respecto de la tasa base. Entra restando, así que más resolución es mejor.
Corolario 16.6 (el pronosticador constante). El pronóstico f\equiv\bar{y} —anunciar siempre la tasa base— está perfectamente calibrado y tiene resolución cero. Su Brier es exactamente la incertidumbre \bar{y}(1-\bar{y}).
Demostración. Si f es constante e igual a \bar{y}, hay un solo valor p=\bar{y}, y \bar{y}_p = E[Y\mid f(X)=\bar{y}] = E[Y] = \bar{y}. Entonces E[(P-\bar{y}_P)^2]=0 y E[(\bar{y}_P-\bar{y})^2]=0, y la descomposición deja \text{BS}=\bar{y}(1-\bar{y}). ∎
Este corolario es la razón por la que la calibración, sola, no sirve como criterio de calidad. «En esta ciudad llueve el 33 % de los días» es un pronóstico perfectamente calibrado y perfectamente inútil: nunca se equivoca en el nivel y nunca distingue un día de otro. Lo que se le pide a un pronóstico útil es calibración y resolución, y la descomposición las mide por separado.
La identidad se cumple hasta el último dígito en los tres casos, incluido el pronosticador constante del Corolario 16.6, cuyo Brier es la incertidumbre entera. Con el pronóstico fiel la falta de calibración no sale exactamente cero sino 0,000018: es ruido de muestreo, no sesgo. Estimar \bar{y}_p con un número finito de días deja siempre un residuo positivo, y el Ejercicio 2 mide cuánto.
3. Orden: ganancia y lift
Hay decisiones que no usan el nivel del pronóstico sino solo el orden: avisar al 20\,\% de días con mayor probabilidad, revisar los mil expedientes más sospechosos, atender primero a quien más riesgo tiene. Para esas, lo que importa es cuántos positivos caen dentro del grupo elegido.
Definición 16.7 (curva de ganancia). Ordenados los n casos de mayor a menor pronóstico, para u\in(0,1] la ganancia G(u) es la fracción de todos los positivos que cae dentro del primer u\cdot n de la lista.
Definición 16.8 (lift). L(u) = G(u)/u: cuántas veces más positivos hay en el grupo elegido que los que habría eligiendo al azar.
Un lift de 3 al 10 % significa que ese décimo de la lista concentra el triple de positivos que un décimo cualquiera. Es la medida que se usa para decidir a cuántos casos alcanza el presupuesto, y tiene un techo que conviene calcular antes de construir el modelo.
Proposición 16.9 (techo del lift). Para todo u y todo pronóstico, L(u) \;\le\; \min\left(\frac{1}{u},\ \frac{1}{\bar{y}}\right), y el pronóstico que ordena primero todos los positivos alcanza esa cota con igualdad.
Demostración. Dos cotas, cada una por una razón distinta. La primera: G(u)\le 1 siempre, porque es una fracción de todos los positivos; dividiendo entre u, L(u)\le 1/u. La segunda: el grupo elegido tiene u\,n casos, así que contiene como mucho u\,n positivos, y como en total hay \bar{y}\,n positivos, G(u) \le un/(\bar{y}n) = u/\bar{y}; dividiendo entre u, L(u)\le 1/\bar{y}. El pronóstico que conoce el resultado pone los \bar{y}n positivos al principio de la lista: mientras u \le \bar{y} el grupo elegido es todo positivos y G(u)=u/\bar{y}, que da L(u)=1/\bar{y}; y en cuanto u\ge\bar{y} ya los ha capturado todos, G(u)=1 y L(u)=1/u. ∎
La consecuencia práctica es incómoda para quien promete mucho: con una tasa base del 33 %, ningún modelo puede pasar de un lift de 3, por perfecto que sea. Cuanto más raro es el fenómeno, más margen hay: con una tasa base del 1 %, el techo es 100. Comparar lifts de dos problemas con tasas base distintas no significa nada.
Ninguna fila se sale del techo, y el pronóstico que conoce el resultado lo toca exactamente: 1/0{,}3331 = 3{,}002 mientras u no pase de la tasa base, y 1/u a partir de ahí. Es la Proposición 16.9 dibujada por la propia cuenta.
4. El orden y el nivel son cosas distintas
Las dos mitades de la lección miden cosas distintas, y la forma más clara de verlo es preguntarse qué le pasa a cada una cuando se deforma el pronóstico sin cambiar el orden de los días.
Proposición 16.10 (invariancia bajo transformaciones crecientes). Sea g:[0,1]\to[0,1] estrictamente creciente y f'=g\circ f. Entonces:
- f' y f tienen la misma curva de ganancia y el mismo lift;
- f' y f tienen la misma resolución y la misma incertidumbre;
- su único término distinto en la descomposición es la falta de calibración, y en general f' no está calibrado aunque f lo esté.
Demostración. (1) Como g es estrictamente creciente, f(X_i) > f(X_j) si y solo si f'(X_i) > f'(X_j): el orden de la lista es el mismo, luego el grupo formado por el primer u\,n es el mismo conjunto de días y G(u) no cambia. (2) Estrictamente creciente implica inyectiva, así que los sucesos \{f(X)=p\} y \{f'(X)=g(p)\} son el mismo suceso; por tanto E[Y\mid f'(X)=g(p)] = E[Y\mid f(X)=p] = \bar{y}_p. La variable \bar{y}_{P} es la misma en los dos casos, y con ella la resolución E[(\bar{y}_P-\bar{y})^2] y la incertidumbre \bar{y}(1-\bar{y}), que ni siquiera depende del pronóstico. (3) Por la Proposición 16.5, si dos de los tres términos coinciden, toda la diferencia de Brier está en el tercero: la falta de calibración pasa de E[(P-\bar{y}_P)^2] a E[(g(P)-\bar{y}_P)^2], y esto vale cero solo si g(p)=\bar{y}_p para todo p del soporte. ∎
Corolario 16.11 (recalibrar es gratis). Entre todas las transformaciones crecientes de f, la que lleva cada nivel p a su frecuencia real, g^\*(p)=\bar{y}_p, deja la falta de calibración en cero y no cambia el orden. Su Brier es \text{BS}^\* = \bar{y}(1-\bar{y}) - E\big[(\bar{y}_P-\bar{y})^2\big] = \text{incertidumbre} - \text{resolución}, que es el menor Brier alcanzable sin cambiar el orden de los casos.
Demostración. g^\* es creciente porque \bar{y}_p lo es cuando el pronóstico ordena bien —si no lo fuera, se toma la versión isotónica —regresión isotónica—, que es la del Ejercicio 1—. Aplicando la Proposición 16.10, la resolución y la incertidumbre no cambian, y el término de calibración pasa a ser E[(\bar{y}_P-\bar{y}_P)^2]=0. La descomposición de la Proposición 16.5 deja entonces \text{BS}^\*=\text{incertidumbre}-\text{resolución}. Como el término de calibración es no negativo, ningún otro g puede dar un Brier menor. ∎
Esto es lo que hace la recalibración una operación rara y buena: no hay nada que perder. El orden de los casos no se toca, así que la curva de ganancia, el lift y la resolución quedan intactos; lo único que cambia es el número anunciado, y solo puede mejorar. Todo lo contrario de las decisiones habituales de modelado, que siempre cambian una cosa por otra.
La columna de resolución es la misma en las cuatro filas, hasta el sexto decimal, y las cuatro curvas de ganancia son idénticas como arreglos: np.array_equal devuelve True. Lo único que se mueve es la calibración, y con ella el Brier. En el visual de arriba, el panel de la derecha no se mueve nunca al arrastrar el control. Esa inmovilidad la impone la Proposición 16.10, que dice que no puede moverse.
De aquí sale una regla práctica: un informe que solo trae AUC, lift o ganancia no dice nada sobre si las probabilidades del modelo son creíbles, porque esas tres medidas son ciegas a cualquier deformación creciente. Y al revés: un modelo bien calibrado puede tener una resolución pésima. Hay que mirar las dos cosas, y la descomposición de la Proposición 16.5 las trae separadas.
Ejercicios
Ejercicio 1 — Recalibrar con regresión isotónica
Implementar PAVA —pool adjacent violators— sobre los niveles distintos del pronóstico: recorrerlos de menor a mayor y, cada vez que la frecuencia real de un nivel sea menor que la del anterior, fundir los dos bloques en uno con la media ponderada. Comprobar sobre un pronóstico descalibrado que la recalibración deja la calibración en cero, no toca la resolución y no cambia la curva de ganancia.
El Brier cae de 0,216403 a 0,179618, que es exactamente incertidumbre − resolución: el suelo del Corolario 16.11. La calibración queda en cero, la resolución no se movió ni en el sexto decimal y la ganancia es idéntica. Conviene fijarse en que PAVA es creciente pero no estrictamente: puede fundir niveles vecinos en uno solo, y dentro de un empate el orden entre casos ya no está determinado. Aquí no fundió ninguno —21 niveles antes y después—, pero cuando lo haga, la curva de ganancia cambia un poco por el desempate, y eso hay que decirlo en vez de esconderlo.
Ejercicio 2 — Cuántas cajas tiene un diagrama de fiabilidad
Un pronóstico continuo no repite valores, así que para dibujar el diagrama hay que agrupar en cajas. Tomar un pronóstico perfectamente calibrado —que anuncia la probabilidad verdadera— y medir la calibración estimada con distintos números de cajas. Predecir antes de correr qué debería dar y qué va a dar.
El valor correcto es cero en las siete filas: el pronóstico es la probabilidad verdadera. Lo que la tabla mide es el sesgo del estimador, que crece con el número de cajas porque cada caja estima una frecuencia con menos días: de 0,000002 con dos cajas a 0,018799 con cuatrocientas. Un diagrama de fiabilidad con muchas cajas y pocos datos siempre parece descalibrado, y la tentación de leerlo como un hallazgo es exactamente el error que la lección 17 persigue.
Reto
En proyectos/notebooks/F1-retos.ipynb, sección Est 16:
- Escribir
descompone(p, y, cajas=None)que devuelva calibración, resolución e incertidumbre, y que use agrupación exacta si el pronóstico tiene pocos niveles distintos y cajas por cuantiles si es continuo. Comprobar sobre mil conjuntos simulados que calibración − resolución + incertidumbre reproduce el Brier con error menor que 10^{-12} cuando la agrupación es exacta. - Comparar tres recalibraciones sobre el mismo pronóstico descalibrado: isotónica (Ejercicio 1), logística sobre el logit —ajustada por descenso de gradiente escrito a mano— y no hacer nada. Medir Brier, calibración y resolución de las tres, ajustando en una mitad de los datos y midiendo en la otra. ¿Cuál gana cuando hay 200 días? ¿Y cuando hay 20 000?
- Construir dos modelos con el mismo lift al 10 % y Brier muy distinto, y dos con el mismo Brier y lift muy distinto. Es la forma más rápida de convencerse de que las dos medidas no se implican.
Del libro
Ningún libro del plan con índice verificado trata la calibración de probabilidades ni las curvas de ganancia, así que esta lección es autocontenida y no cita ninguna fuente: por la regla 3 de CLAUDE.md, antes que citar de memoria, no se cita. Lo más cercano dentro del plan es ISLP cap. 4 Classification, que trata la curva ROC y las matrices de confusión —primas de la curva de ganancia, construidas también sobre el orden— pero no la calibración ni la descomposición del score.
Para poder citar material sobre esto habría que traer antes el índice de una fuente abierta que lo cubra, meterlo en verificar/indices.json con su URL y su fecha, y solo entonces escribir preguntas de lectura. Mientras tanto, las demostraciones de esta página se sostienen solas, que es lo que se les pide.
Para el Cerebro
Nota nueva en 10-Conceptos/calibracion.md, enlazada a [[esperanza-condicional]], [[valor-p]] y [[regresion-logistica]]. La Proposición 16.5 conviene rehacerla a mano: es la ley de la varianza total con un disfraz, y una vez hecha, la diferencia entre calibración y resolución deja de confundirse.
¿Qué significa que un pronóstico esté calibrado?::Que entre los días en que dijo p, la frecuencia real fue p: E[Y | f(X)=p] = p
¿Por qué no se puede juzgar un pronóstico probabilístico con un solo día?::Porque la afirmación es sobre el grupo de días en que se dijo lo mismo, no sobre uno
¿Qué es el score de Brier?::El error cuadrático medio contra el resultado 0/1: E[(p̂ − Y)²]
¿Qué quiere decir que el Brier sea una regla propia?::Que se minimiza anunciando la probabilidad verdadera: E[(p−Y)²] = (p−q)² + q(1−q)
¿En qué tres piezas se descompone el Brier?::Falta de calibración − resolución + incertidumbre (Proposición 16.5)
¿Cuál de las tres no depende del pronosticador?::La incertidumbre, ȳ(1−ȳ): es del fenómeno
¿Por qué la resolución entra restando?::Porque separar los casos mejora el score: más resolución, menor Brier
¿Qué Brier tiene el que siempre anuncia la tasa base?::La incertidumbre entera: está calibrado y tiene resolución cero (Corolario 16.6)
¿Qué es la curva de ganancia?::La fracción de todos los positivos que cae en el u % mejor ranqueado
¿Qué es el lift?::G(u)/u: cuántas veces más positivos que eligiendo al azar
¿Cuál es el techo del lift?::min(1/u, 1/ȳ) — con tasa base 33 % ningún modelo pasa de 3× (Proposición 16.9)
¿Qué le hace al lift una transformación creciente del pronóstico?::Nada: el orden no cambia, y la resolución tampoco (Proposición 16.10)
¿Qué sí cambia esa transformación?::Solo la falta de calibración, y con ella el Brier
¿Por qué recalibrar es gratis?::Porque no toca el orden: baja la calibración a cero y deja resolución y ganancia intactas (Corolario 16.11)
¿Qué Brier alcanza la mejor recalibración?::Incertidumbre − resolución, el suelo sin cambiar el orden
¿Basta con reportar AUC o lift?::No: son ciegos a cualquier deformación creciente, así que no dicen nada de la calibración
Fuentes
Lo que esta página demuestra sola. Todo. Las Proposiciones 16.4, 16.5, 16.9 y 16.10 y los Corolarios 16.6 y 16.11 se demuestran aquí, a partir de la esperanza condicional y la varianza de una Bernoulli (lección 4) y de la ley de la varianza total. Se comprueban además numéricamente: la identidad de la descomposición hasta 10^{-9} en tres pronósticos distintos, el mínimo del Brier en p=q tanto puntual como sobre un pronóstico completo, el techo del lift en siete fracciones con su caso de igualdad, la invariancia de la resolución y de la curva de ganancia bajo tres transformaciones crecientes —con np.array_equal devolviendo True—, y la recalibración isotónica llevando el Brier exactamente a incertidumbre − resolución. Los tres visuales se contrastaron contra numpy antes de publicarse: 4 formas de distorsión × 21 fuerzas para el primero, 21 calidades × 20 fracciones para el segundo, y 3 transformaciones × 21 fuerzas para el tercero.
Lo que se usa de otras lecciones sin repetir. La varianza de una Bernoulli y la torre de esperanzas son la lección 4. La lectura de una cantidad anunciada como probabilidad que debe comportarse como tal es la Proposición 10.8. Que las etiquetas faltantes sesgan la frecuencia observada es la lección 15.
Lo que se enuncia sin demostrar. Nada. La única afirmación no demostrada es de tipo empírico —que la mayoría de los modelos de aprendizaje automático salen descalibrados de fábrica—, y se presenta como observación, no como resultado.
Lo que viene de los libros. Nada. Ninguno de los libros con índice verificado en verificar/indices.json trata este material, y por la regla 3 no se cita lo que no se puede verificar. La descomposición del score de Brier y la regresión isotónica son estándar en la literatura de pronóstico probabilístico; esta página las construye desde cero.
Lo que es mío, no del libro. La numeración, la elección del pronóstico de lluvia como hilo único de toda la lección, y el orden de presentación: score propio → descomposición → orden → invariancia, que deja el Corolario 16.11 como consecuencia de las dos mitades anteriores en vez de como receta.