EJERCICIO 1

Definicion del problema clínico

Se conoce que:

El 1% de la población tiene cáncer (prevalencia). La prueba detecta correctamente el 80% de los casos (sensibilidad). Existe un 9.6% de falsos positivos.

# ====================================================
# BAYES — Caso 1: Diagnóstico Médico
# ====================================================

# Datos del problema
prevalencia  <- 0.01   # Prior: 1% de la población tiene cáncer
sensibilidad <- 0.80   # P(Positivo | Cáncer)
falso_pos    <- 0.096  # P(Positivo | No Cáncer)

construye el probela bayesiano

Interpretación:

Se definen los datos iniciales del problema:

La prevalencia representa la probabilidad inicial de tener cáncer. La sensibilidad mide qué tan buena es la prueba detectando enfermos. El falso positivo indica errores en personas sanas.

# Tabla Bayesiana
estados <- c("Cáncer", "No Cáncer")
prior   <- c(prevalencia, 1 - prevalencia)
likel   <- c(sensibilidad, falso_pos)   # P(Positivo | estado)

# Paso 1-3: conjuntas
conjunta <- prior * likel

Interpretación:

Se construyen los componentes del modelo:

Estados: posibles condiciones del paciente. Prior: probabilidades antes del test. Verosimilitud: probabilidad del resultado positivo en cada estado.

# Paso 4: probabilidad marginal de la evidencia
P_positivo <- sum(conjunta)
cat("P(Positivo) =", round(P_positivo, 4), "\n")
## P(Positivo) = 0.103
# Paso 5: posteriors
posterior <- conjunta / P_positivo

# Tabla completa
tabla <- data.frame(
  Estado      = estados,
  Prior       = prior,
  Verosimil   = likel,
  Conjunta    = conjunta,
  Posterior   = round(posterior, 4)
)
print(tabla)
##      Estado Prior Verosimil Conjunta Posterior
## 1    Cáncer  0.01     0.800  0.00800    0.0776
## 2 No Cáncer  0.99     0.096  0.09504    0.9224
cat("\n→ P(Cáncer | Positivo) =", round(posterior[1] * 100, 1), "%\n")
## 
## → P(Cáncer | Positivo) = 7.8 %
cat("→ Aunque la prueba es positiva, solo el",
    round(posterior[1] * 100, 1), "% tiene cáncer.\n")
## → Aunque la prueba es positiva, solo el 7.8 % tiene cáncer.
# Visualización: cómo cambia la posterior con distintas prevalencias
library(ggplot2)
prevalencias <- seq(0.001, 0.20, 0.001)
post_cancer <- sapply(prevalencias, function(p) {
  conj <- c(sensibilidad * p, falso_pos * (1 - p))
  conj[1] / sum(conj)
})

df_prev <- data.frame(prevalencia = prevalencias, posterior = post_cancer)

ggplot(df_prev, aes(x = prevalencia * 100, y = posterior * 100)) +
  geom_line(color = "#3a7fbd", linewidth = 1.2) +
  geom_point(data = data.frame(x = 1, y = posterior[1] * 100),
             aes(x = x, y = y), color = "#b0305a", size = 4) +
  annotate("text", x = 2, y = posterior[1] * 100,
           label = paste0("Prevalencia 1%\nP(Cáncer|+) = ",
                           round(posterior[1] * 100, 1), "%"),
           hjust = 0, color = "#b0305a", size = 3.5) +
  labs(title = "Efecto de la Prevalencia sobre el Valor Predictivo Positivo",
       subtitle = "Mamografía: Sensibilidad=80%, Tasa FP=9.6%",
       x = "Prevalencia (%)", y = "P(Cáncer | Positivo) (%)") +
  theme_minimal() +
  scale_x_continuous(labels = function(x) paste0(x, "%")) +
  scale_y_continuous(labels = function(x) paste0(x, "%"))

INTERPETACION

El gráfico evidencia que la probabilidad de tener cáncer dado un resultado positivo depende fuertemente de la prevalencia de la enfermedad. En poblaciones con baja prevalencia, incluso pruebas con buena sensibilidad pueden generar una alta proporción de falsos positivos, reduciendo el valor predictivo positivo. Por lo tanto, es fundamental considerar el contexto poblacional al interpretar resultados diagnósticos.