Caso 2 Control de Calidad

Introducción

El teorema de Bayes permite actualizar probabilidades cuando se obtiene nueva información. En problemas de control de calidad, esta herramienta es útil para identificar qué proveedor tiene mayor probabilidad de enviar piezas defectuosas.

En este caso se analizan tres proveedores. A medida que se inspeccionan piezas defectuosas o conformes, se actualizan las probabilidades utilizando el teorema de Bayes de forma secuencial. La probabilidad posterior obtenida en cada inspección se convierte en la probabilidad previa de la siguiente.

Desarrollo

Se crea una función que aplica el teorema de Bayes.

La función calcula:

Probabilidad conjunta Probabilidad marginal Probabilidad posterior Tabla de resultados

Aquí se calcula la probabilidad conjunta.

P(A y B) = P(A) × P(B|A) Se calcula la probabilidad total de la evidencia. Se calcula la probabilidad posterior usando Bayes.

Posterior = Conjunta / Evidencia

Se crea la tabla con los resultados.

Columna con los estados.

Probabilidades previas.

Verosimilitud.

Probabilidad conjunta.

Probabilidad de la evidencia.

Probabilidad posterior.

La función devuelve la tabla y la posterior.

bayes_tabla <- function(prior, likel, estados) {
  conjunta  <- prior * likel
  P_E       <- sum(conjunta)
  posterior <- conjunta / P_E
  df <- data.frame(
    Estado    = estados,
    Prior     = round(prior,      4),
    Likel     = round(likel,      4),
    Conjunta  = round(conjunta,   4),
    P_E       = round(P_E,        4),
    Posterior = round(posterior,  4)
  )
  list(tabla = df, posterior = posterior, P_E = P_E)
}

Datos iniciales Se definen los proveedores.

estados  <- c("Proveedor A", "Proveedor B", "Proveedor C")

Se definen las probabilidades previas.

prior    <- c(0.60, 0.30, 0.10)

Probabilidad de defecto dado el proveedor.

p_defecto <- c(0.01, 0.04, 0.12)

Probabilidad de pieza conforme.

p_conforme <- c(0.99, 0.96, 0.88)

Inspección 1: pieza DEFECTUOSA Se imprime el título de la inspección.

cat("=== INSPECCIÓN 1: DEFECTUOSA ===\n")
## === INSPECCIÓN 1: DEFECTUOSA ===

Se aplica el teorema de Bayes.

res1 <- bayes_tabla(prior, p_defecto, estados)

Se imprime la tabla.

print(res1$tabla[, c("Estado","Prior","Likel","Conjunta","Posterior")])
##        Estado Prior Likel Conjunta Posterior
## 1 Proveedor A   0.6  0.01    0.006       0.2
## 2 Proveedor B   0.3  0.04    0.012       0.4
## 3 Proveedor C   0.1  0.12    0.012       0.4

Actualización Secuencial La posterior de hoy es el prior de mañana.

Inspección 2: segunda pieza DEFECTUOSA Se imprime el título.

cat("\n=== INSPECCIÓN 2: DEFECTUOSA (prior actualizado) ===\n")
## 
## === INSPECCIÓN 2: DEFECTUOSA (prior actualizado) ===

Se aplica Bayes usando el prior actualizado.

res2 <- bayes_tabla(res1$posterior, p_defecto, estados)

Se imprime la tabla.

print(res2$tabla[, c("Estado","Prior","Likel","Posterior")])
##        Estado Prior Likel Posterior
## 1 Proveedor A   0.2  0.01    0.0303
## 2 Proveedor B   0.4  0.04    0.2424
## 3 Proveedor C   0.4  0.12    0.7273

Inspección 3: pieza CONFORME

Se imprime el título.

cat("\n=== INSPECCIÓN 3: CONFORME ===\n")
## 
## === INSPECCIÓN 3: CONFORME ===

Se aplica Bayes nuevamente.

res3 <- bayes_tabla(res2$posterior, p_conforme, estados)

Se imprime la tabla final.

print(res3$tabla[, c("Estado","Prior","Likel","Posterior")])
##        Estado  Prior Likel Posterior
## 1 Proveedor A 0.0303  0.99    0.0332
## 2 Proveedor B 0.2424  0.96    0.2578
## 3 Proveedor C 0.7273  0.88    0.7090

Visualización de la evolución

Se cargan las librerías.

library(ggplot2); library(tidyr)

Se crea la evolución de probabilidades. Se definen las inspecciones. Probabilidad del proveedor A. Proveedor B. Proveedor C.

evolución <- data.frame(
  Inspección = c("Prior", "Tras Def1", "Tras Def2", "Tras Conf"),
  A = c(prior[1], res1$posterior[1], res2$posterior[1], res3$posterior[1]),
  B = c(prior[2], res1$posterior[2], res2$posterior[2], res3$posterior[2]),
  C = c(prior[3], res1$posterior[3], res2$posterior[3], res3$posterior[3])
)

Se transforma a formato largo.

df_long <- pivot_longer(evolución, -Inspección,
                         names_to = "Proveedor", values_to = "Probabilidad")

Se ordenan las inspecciones.

df_long$Inspección <- factor(df_long$Inspección,
                               levels = c("Prior","Tras Def1","Tras Def2","Tras Conf"))

Gráfica

Se construye el gráfico. Se dibujan las líneas. Se agregan puntos. Se agregan etiquetas. Se definen colores. Se formatea el eje Y. Se agregan títulos. Se aplica diseño limpio.

ggplot(df_long, aes(x = Inspección, y = Probabilidad, 
                     color = Proveedor, group = Proveedor)) +
  geom_line(linewidth = 1.2) +
  geom_point(size = 3.5) +
  geom_label(aes(label = paste0(round(Probabilidad * 100, 1), "%")),
             size = 3, show.legend = FALSE) +
  scale_color_manual(values = c(A="#3a7fbd", B="#d97706", C="#b0305a")) +
  scale_y_continuous(labels = function(x) paste0(round(x*100,0),"%"), limits=c(0,1)) +
  labs(title = "Actualización Secuencial Bayesiana — Control de Calidad",
       subtitle = "La posterior de cada inspección es el prior de la siguiente",
       y = "P(Proveedor | Evidencia acumulada)") +
  theme_minimal()

Interpretación Estadística

Después de la primera inspección defectuosa, la probabilidad aumenta para el proveedor con mayor tasa de defectos. En la segunda inspección defectuosa, esta probabilidad vuelve a incrementarse, reforzando la evidencia acumulada. Cuando se observa una pieza conforme, las probabilidades se ajustan, pero el proveedor con mayor tasa de defectos sigue siendo el más probable.

Los resultados muestran que la actualización secuencial permite identificar qué proveedor tiene mayor probabilidad de generar fallas.

En base a estos resultados se recomienda:

Conclusión

El teorema de Bayes permite actualizar probabilidades a medida que se obtiene nueva información. La actualización secuencial muestra que la evidencia acumulada ayuda a identificar el proveedor con mayor probabilidad de defectos, permitiendo tomar decisiones bajo incertidumbre y reducir el riesgo en el control de calidad.