Imagina que despiertas con dolor de cabeza y tu primer pensamiento es lo peor. ¿Realmente deberías preocuparte? El pensamiento probabilístico y el teorema de Bayes te dan herramientas concretas para responder esa pregunta con datos, no con miedo. A continuación se explica paso a paso cómo traducir una tabla de síntomas y enfermedades a código Python funcional, obteniendo resultados que probablemente te sorprendan.
¿Qué datos necesitamos para aplicar el teorema de Bayes a síntomas médicos?
El punto de partida es una tabla de contingencia que cruza dos variables: tener o no tener cáncer y mostrar o no mostrar síntomas [0:12]. De una muestra de 100 000 personas, solo una persona realmente tiene la enfermedad. Diez personas muestran síntomas pero no tienen cáncer, y el resto no presenta síntomas ni enfermedad.
Con esos números se extraen las probabilidades que el teorema de Bayes necesita como insumos:
Prior o probabilidad previa de tener cáncer: 1 entre 100 000.
Probabilidad de síntoma dado cáncer (likelihood): en estos datos es 1, porque todos los enfermos muestran síntomas.
Probabilidad de síntoma dado que no hay cáncer: 10 entre 99 999.
Probabilidad de no tener cáncer: 1 menos el prior.
El prior [1:30] representa tu creencia inicial antes de observar evidencia. Es el punto de arranque del razonamiento bayesiano y se actualiza cada vez que incorporas nueva información.
¿Cómo se traduce el teorema de Bayes a código Python?
La implementación es directa. Se crea una función calcularBayes que recibe tres parámetros y retorna el resultado de la fórmula [1:22]:
La variable prob_sintoma se calcula usando la ley de probabilidad total: se suman los productos de cada likelihood por su respectivo prior [3:30]. Este paso es indispensable porque representa la probabilidad marginal de la evidencia, es decir, qué tan común es observar el síntoma en toda la población, sin importar si hay enfermedad o no.
¿Qué pasa si introduces un error en los datos?
Durante la ejecución en consola apareció un primer resultado de 50 %, lo cual era alarmante [5:13]. El error fue un nueve extra en el denominador, que inflaba la muestra a casi un millón de personas. Al corregir el valor a 99 999, el resultado bajó al 9 % [5:50]. Este tropiezo muestra lo importante que es verificar cada dato antes de interpretar resultados.
¿Por qué el resultado del 9 % es tan relevante?
El 9 % significa que, aun teniendo un síntoma, la probabilidad real de padecer cáncer es baja [6:02]. El instinto suele llevarnos a pensar lo peor, pero el análisis bayesiano demuestra que la presencia de un síntoma, por sí sola, no equivale a un diagnóstico.
¿Cómo se actualiza la probabilidad con nueva evidencia?
Aquí aparece una de las propiedades más poderosas del teorema de Bayes: es recursivo [6:30]. Una vez que visitas al doctor y recibes resultados de exámenes, ese 9 % se convierte en tu nuevo prior. La evidencia adicional —análisis de sangre, estudios de imagen— se incorpora repitiendo el mismo cálculo.
Tu prior original era la tasa poblacional: 0.001 %.
Después de observar síntomas, tu prior actualizado sube a 9 %.
Cada nuevo test médico vuelve a ajustar esa cifra hacia arriba o hacia abajo.
Este proceso de actualización bayesiana refleja cómo deberíamos razonar en la vida diaria: partir de una creencia, observar datos y ajustar nuestras conclusiones de forma iterativa en lugar de saltar a extremos.
Desarrollar este tipo de pensamiento probabilístico requiere práctica, pero otorga una ventaja enorme para tomar decisiones informadas. Si quieres profundizar, comparte tu propia implementación o tus dudas en los comentarios para seguir construyendo sobre estas ideas.