Introducción: qué es la regresión logística aplicada a «Atrápame si puedes» 🎯
«Atrápame si puedes», el concurso de preguntas y retos de la televisión autonómica andaluza, empieza una nueva semana con un bote de 11.200 euros, según publica Canal Sur. Esta lección usa el programa como excusa para estudiar con calma un modelo clásico del aprendizaje supervisado: la regresión logística. La pregunta de partida es sencilla de plantear y difícil de responder a ojo. Si un concursante acierta un número determinado de preguntas en la ronda de cultura general, ¿qué probabilidad tiene de llegar a la ronda final?
La regresión logística es un modelo estadístico que estima la probabilidad de que ocurra un suceso con solo dos resultados posibles (sí/no, 1/0) a partir de una o varias variables explicativas. A diferencia de la regresión lineal, su salida nunca baja de 0 ni pasa de 1, porque la probabilidad se calcula con una curva en forma de S llamada función sigmoide o logística.
📚 Índice de la lección:
- El contexto de la noticia y qué se puede afirmar de ella con seguridad.
- Por qué un concurso de televisión es un buen caso para el análisis de datos.
- Variables, KPIs y la diferencia entre variable respuesta y variable explicativa.
- La tabla didáctica con doce concursantes ficticios (Figura 1).
- El modelo logístico: ecuación, ajuste, odds ratio y umbral de decisión (Figura 2).
- Cómo leer la curva y la matriz de confusión.
- Una propuesta de actividad para el aula, con código en R y en Python.
- Preguntas para el aula y cuestiones que quedan abiertas.
Contexto de la noticia
El dato que la cadena confirma en el titular es el bote: 11.200 euros al inicio de la semana. El programa mezcla preguntas de cultura general con pruebas más lúdicas, y la propia cadena lo presenta como un formato de «cultura y diversión».
La versión de la noticia que nos sirve de punto de partida añadía más cifras: un 12,4 % de cuota de pantalla en la franja de 20:00 a 21:00, unos 8.500 aspirantes en la fase preliminar y un aumento del 35 % en las interacciones en redes sociales. No hemos podido contrastar esas cifras con datos oficiales de audiencia, así que en esta lección no las usamos como datos reales. Tampoco describimos con detalle el reglamento de rondas y reparto de premios, porque puede cambiar entre temporadas.
Lo que sí nos interesa es la estructura del concurso: varias fases eliminatorias en las que cada concursante pasa o no pasa. Ese resultado de dos valores es justo el tipo de variable que modela la regresión logística.
Relevancia para el análisis de datos 🔎
Los concursos de preguntas son un laboratorio estadístico muy cómodo. Las reglas son públicas, hay muchos episodios con el mismo formato y los resultados se registran de forma objetiva: aciertos, fallos, tiempos y eliminaciones. Por eso aparecen a menudo en la literatura sobre toma de decisiones con riesgo, y por eso funcionan bien en clase.
En «Atrápame si puedes», como en cualquier concurso por fases, las preguntas analíticas útiles suelen ser de tipo sí/no:
- ¿Llega este concursante a la ronda final?
- ¿Se lleva el bote esta semana o se acumula?
- ¿Responde correctamente a la pregunta antes de que se agote el tiempo?
Si intentamos responder a esas preguntas con una recta de regresión lineal, aparece un problema conocido: para valores extremos de la variable explicativa la recta predice «probabilidades» negativas o mayores que 1, que no tienen sentido. La regresión logística corrige esto transformando la escala. En lugar de modelar la probabilidad p directamente, modela el logit, el logaritmo de las odds (la razón entre la probabilidad de que ocurra y la de que no ocurra):
logit(p) = ln( p / (1 − p) ) = β₀ + β₁·x
Despejando p se obtiene la sigmoide:
p(x) = 1 / (1 + e−(β₀ + β₁·x))
Este modelo es el punto de partida de muchos clasificadores supervisados que se usan hoy en banca (riesgo de impago), medicina (probabilidad de diagnóstico) o educación (riesgo de abandono). Entender bien un caso pequeño, como el de un concurso, prepara para leer esos modelos con criterio.
Variables y KPIs en juego 🧮
Antes de ajustar cualquier modelo conviene fijar el vocabulario. En aprendizaje supervisado distinguimos:
- Variable respuesta (o etiqueta), y: lo que queremos predecir. Aquí, si el concursante llega a la ronda final (
1) o no (0). Es una variable binaria. - Variable explicativa (o predictor), x: la información que usamos para predecir. Aquí, el número de aciertos sobre 20 preguntas en la ronda de cultura general.
- Variable auxiliar: el tiempo medio de respuesta en segundos. La recogemos en la tabla para la actividad de ampliación con regresión logística múltiple, pero el modelo principal usa solo los aciertos.
Y estos son los indicadores (KPIs) que usaremos para evaluar el modelo aplicado a «Atrápame si puedes»:
| KPI | Qué mide | Cómo se calcula |
|---|---|---|
| Probabilidad estimada (p̂) | Probabilidad que el modelo asigna a llegar a la final | Sigmoide aplicada a β₀ + β₁·x |
| Odds ratio (OR) | Cuánto se multiplican las odds por cada acierto adicional | eβ₁ |
| Umbral de decisión | Probabilidad a partir de la cual clasificamos como «finalista» | Por convenio, 0,5; se puede ajustar |
| Punto de corte x* | Aciertos con los que p̂ = 0,5 | x* = −β₀ / β₁ |
| Exactitud (accuracy) | Proporción de casos bien clasificados | (VP + VN) / total |
| Falsos positivos y negativos | Errores en cada dirección | Matriz de confusión |
Tabla didáctica (Figura 1) 📊
La pieza central de la lección es esta tabla. Recoge doce concursantes ficticios de una semana imaginaria de «Atrápame si puedes». No son datos del programa: los hemos construido para que el ejemplo sea manejable a mano y, a la vez, tenga casos ambiguos, porque un conjunto de datos perfecto no enseña nada sobre los límites del modelo. Las dos últimas columnas se rellenan con el modelo que ajustamos en la sección siguiente.
| Concursante | Aciertos (x, sobre 20) | Tiempo medio (s) | ¿Llega a la final? (y) | p̂ del modelo | Clasificación (umbral 0,5) |
|---|---|---|---|---|---|
| C1 | 6 | 9,8 | 0 (no) | 0,010 | No ✅ |
| C2 | 7 | 9,1 | 0 (no) | 0,024 | No ✅ |
| C3 | 8 | 8,7 | 0 (no) | 0,057 | No ✅ |
| C4 | 9 | 8,9 | 0 (no) | 0,130 | No ✅ |
| C5 | 10 | 7,6 | 1 (sí) | 0,269 | No ❌ (falso negativo) |
| C6 | 11 | 8,2 | 0 (no) | 0,475 | No ✅ |
| C7 | 12 | 7,1 | 1 (sí) | 0,690 | Sí ✅ |
| C8 | 12 | 7,9 | 0 (no) | 0,690 | Sí ❌ (falso positivo) |
| C9 | 13 | 6,8 | 1 (sí) | 0,846 | Sí ✅ |
| C10 | 14 | 6,5 | 1 (sí) | 0,931 | Sí ✅ |
| C11 | 15 | 6,9 | 1 (sí) | 0,971 | Sí ✅ |
| C12 | 17 | 5,9 | 1 (sí) | 0,995 | Sí ✅ |
Datos ilustrativos para uso docente. No proceden de «Atrápame si puedes» ni de Canal Sur.
Observa la zona central de la tabla. Entre 10 y 12 aciertos conviven finalistas y eliminados: C5 pasó con 10 y C6 no pasó con 11; C7 y C8 empatan a 12 con resultados opuestos. En un concurso real eso ocurre por las pruebas lúdicas, por la suerte en el reparto de preguntas o por los nervios. Para el modelo es ruido, y es precisamente lo que impide que la separación sea perfecta.
Análisis estadístico y modelo (Figura 2) 🧠
1. Planteamiento
Queremos estimar P(y = 1 | x), la probabilidad de llegar a la final de «Atrápame si puedes» condicionada a los aciertos. Es un problema de clasificación supervisada binaria: tenemos ejemplos etiquetados (sabemos quién pasó) y buscamos una regla que generalice a concursantes nuevos.
2. Cómo se estiman los coeficientes
La regresión logística no se ajusta por mínimos cuadrados, como la lineal, sino por máxima verosimilitud. El algoritmo busca los valores de β₀ y β₁ que hacen más probable haber observado exactamente los unos y ceros de la tabla. No existe una fórmula cerrada: el software itera (método de Newton-Raphson o variantes) hasta converger. Con nuestros doce datos, el ajuste da aproximadamente:
logit(p̂) ≈ −10,0 + 0,9·aciertos
Los valores están redondeados a efectos didácticos. Si reproduces el ajuste en R o Python obtendrás cifras muy parecidas, no idénticas a la décima.
3. Interpretación de β₁: la odds ratio
El coeficiente β₁ = 0,9 no se lee como «cada acierto suma 0,9 de probabilidad». Se lee en la escala de las odds: cada acierto adicional multiplica las odds de llegar a la final por e0,9 ≈ 2,46. Comprobación con la tabla: con 11 aciertos, p̂ = 0,475 y las odds son 0,475/0,525 ≈ 0,90; con 12 aciertos, p̂ = 0,690 y las odds son 0,690/0,310 ≈ 2,23. El cociente 2,23/0,90 ≈ 2,46. ✅
Fíjate en que el aumento de probabilidad no es constante: de 6 a 7 aciertos la probabilidad apenas sube 1,4 puntos, mientras que de 11 a 12 sube más de 21 puntos. Ese comportamiento no lineal es lo que dibuja la S.
4. Punto de corte y umbral
Con el umbral convencional de 0,5, el modelo clasifica como «finalista» a quien supere el punto donde p̂ = 0,5:
x* = −β₀ / β₁ = 10,0 / 0,9 ≈ 11,1 aciertos
En la práctica, como los aciertos son enteros, la regla es: 12 aciertos o más → finalista previsto.
Visualización e interpretación de «Atrápame si puedes» con regresión logística 💡
La Figura 2 condensa todo el modelo. En el eje horizontal están los aciertos y en el vertical la probabilidad estimada. Los puntos rojos (eliminados) se sitúan abajo, en 0; los verdes (finalistas), arriba, en 1. La curva azul es la sigmoide ajustada. Se cruza con la línea discontinua del umbral en x* ≈ 11,1, y esa vertical separa las dos zonas de clasificación.
Tres lecturas que conviene hacer con el alumnado:
- Las colas son planas. Por debajo de 8 aciertos la probabilidad prácticamente no se mueve de cero; por encima de 15 apenas se separa de uno. En esas zonas un acierto más cambia poco el pronóstico.
- La zona de pendiente máxima está en el centro. Entre 10 y 13 aciertos se concentra la incertidumbre, y es justo donde la tabla muestra casos contradictorios.
- Hay dos puntos «mal colocados». El verde en x = 10 (C5) queda a la izquierda del corte, y uno de los rojos en x = 12 (C8) a la derecha. Son los dos errores del modelo.
La matriz de confusión
| Predicho: finalista | Predicho: eliminado | |
|---|---|---|
| Real: finalista | 5 (verdaderos positivos) | 1 (falso negativo, C5) |
| Real: eliminado | 1 (falso positivo, C8) | 5 (verdaderos negativos) |
Datos ilustrativos para uso docente.
La exactitud es 10/12 ≈ 83 %. La cifra parece buena, pero hay que leerla con cautela. Se ha calculado sobre los mismos doce datos con los que se ajustó el modelo, de modo que es una estimación optimista. Con una muestra tan pequeña, además, el intervalo de confianza de β₁ es muy ancho. Un concursante más con 9 aciertos que llegase a la final movería bastante la curva.
Un detalle que suele sorprender: C7 y C8 reciben la misma probabilidad (0,690), porque el modelo solo ve los aciertos. Para distinguirlos necesitaríamos otra variable. El tiempo medio de respuesta de la tabla (7,1 s frente a 7,9 s) es una candidata, y por eso aparece en la actividad de ampliación.
Aplicación didáctica 📚
La propuesta está pensada para dos sesiones de Bachillerato (Matemáticas Aplicadas a las Ciencias Sociales) o para un primer curso universitario de estadística o ciencia de datos. Si buscas más materiales para preparar la sesión, en la sección de recursos para profesores de canaldocente.es hay fichas complementarias.
Sesión 1: a mano y con hoja de cálculo
- Representar los datos de la tabla como en la Figura 1 y discutir por qué una recta no sirve para variables 0/1.
- Calcular p̂ para cada concursante con la fórmula de la sigmoide (β₀ = −10,0; β₁ = 0,9) en una hoja de cálculo.
- Construir la matriz de confusión con umbral 0,5 y repetirla con umbrales de 0,3 y 0,7.
Sesión 2: con software
En R, la función glm con familia binomial ajusta el modelo (documentación oficial en el manual de R):
datos <- data.frame(aciertos = c(6,7,8,9,10,11,12,12,13,14,15,17),
final = c(0,0,0,0,1,0,1,0,1,1,1,1))
modelo <- glm(final ~ aciertos, family = binomial, data = datos)
summary(modelo)
exp(coef(modelo)) # odds ratio
En Python, la clase LogisticRegression de scikit-learn hace lo mismo (consulta la documentación oficial de scikit-learn). Ojo: por defecto aplica regularización, así que para comparar con R hay que desactivarla:
import numpy as np
from sklearn.linear_model import LogisticRegression
X = np.array([6,7,8,9,10,11,12,12,13,14,15,17]).reshape(-1, 1)
y = np.array([0,0,0,0,1,0,1,0,1,1,1,1])
modelo = LogisticRegression(penalty=None).fit(X, y)
print(modelo.intercept_, modelo.coef_)
print(modelo.predict_proba([[11], [12]]))
En versiones antiguas de scikit-learn el argumento es penalty='none'. Que los coeficientes cambien según se use o no la regularización es en sí mismo un buen tema de debate en clase.
Ampliación
Añadir el tiempo medio como segundo predictor (final ~ aciertos + tiempo) convierte el ejercicio en una regresión logística múltiple. Con doce casos el modelo será inestable, y comprobarlo forma parte del aprendizaje: ¿qué ocurre con los errores estándar? ¿Se puede separar el efecto de los aciertos del de la rapidez cuando ambas variables van tan unidas?
Preguntas para el aula ✅
- Calcula la probabilidad estimada de llegar a la final de «Atrápame si puedes» para un concursante con 16 aciertos. ¿Qué odds le corresponden?
- Explica con tus palabras por qué β₁ = 0,9 no significa que cada acierto sume 0,9 puntos de probabilidad.
- Si el programa quisiera evitar a toda costa dejar fuera a un buen concursante (falsos negativos), ¿subirías o bajarías el umbral de 0,5? ¿Qué pasaría con los falsos positivos?
- Cambia la etiqueta de C6 a «finalista» y vuelve a ajustar el modelo en R o Python. ¿Hacia dónde se desplaza el punto de corte x*?
- La exactitud del 83 % se calculó con los mismos datos del ajuste. Propón un procedimiento (por ejemplo, validación cruzada dejando uno fuera) para estimarla de forma más honesta.
- ¿Qué variables reales del concurso, además de los aciertos, crees que influyen en llegar a la final? ¿Cuáles se podrían medir y cuáles no?
- Con doce observaciones, ¿te fiarías del modelo para predecir quién se llevará el bote de 11.200 euros? Justifica tu respuesta.
Conclusión
El caso de «Atrápame si puedes» permite recorrer la regresión logística completa: la variable binaria, el logit, el ajuste por máxima verosimilitud, la odds ratio, el umbral y la matriz de confusión. Con los datos ilustrativos, el modelo sitúa el corte en torno a 11 aciertos y clasifica bien diez de doce casos.
Hay cosas que esta lección no resuelve. Con datos reales del programa, la ronda de cultura sería solo una de varias pruebas, y es probable que las pruebas lúdicas pesen tanto o más que los aciertos. Eso podría reducir mucho la capacidad predictiva del modelo univariante. Tampoco sabemos si los concursantes de distintas semanas son comparables, porque la dificultad de las preguntas cambia. Y las cifras de audiencia que acompañaban a la noticia de partida siguen sin contrastar. Quien quiera estudiar el programa de verdad tendría que empezar por conseguir los resultados ronda a ronda de varias temporadas, algo que hoy no está publicado. Para seguir practicando con otros modelos, en el blog de canaldocente.es hay más casos resueltos.