1. Introducción

En los procesos industriales, el control de calidad es esencial para garantizar que los productos cumplan con estándares establecidos. Cuando existen múltiples proveedores, es necesario evaluar cuál de ellos presenta mayor probabilidad de generar productos defectuosos.

El Teorema de Bayes permite actualizar probabilidades a medida que se obtiene nueva evidencia, lo que resulta especialmente útil en procesos de inspección continua. Este enfoque permite mejorar la toma de decisiones mediante el análisis progresivo de la información.


2. Planteamiento del Problema

Se analiza un sistema de producción en el que intervienen tres proveedores. Cada uno presenta diferentes probabilidades de producir piezas defectuosas.

A partir de varias inspecciones (defectuosas y conformes), se busca determinar cómo cambia la probabilidad de que un producto provenga de cada proveedor, aplicando el Teorema de Bayes de forma secuencial.


3. Objetivos

3.1 Objetivo General

Aplicar el Teorema de Bayes con actualización secuencial para evaluar la probabilidad de origen de productos en un sistema de control de calidad.

3.2 Objetivos Específicos

  • Identificar las probabilidades iniciales de cada proveedor.
  • Aplicar el Teorema de Bayes en múltiples etapas.
  • Analizar la evolución de las probabilidades posteriores.
  • Interpretar los resultados en el contexto del control de calidad.

4. Marco Teórico

El Teorema de Bayes es una herramienta que permite actualizar probabilidades a partir de nueva evidencia. Se expresa como:

\[ P(A|B) = \frac{P(B|A)\cdot P(A)}{P(B)} \]

Donde:

En este contexto:

Actualización Secuencial

La actualización secuencial consiste en utilizar la probabilidad posterior obtenida en una etapa como la nueva probabilidad previa en la siguiente etapa.

Este proceso permite incorporar múltiples evidencias de forma progresiva, mejorando la precisión del análisis.


5. Metodología

El análisis se basa en un enfoque bayesiano aplicado de forma secuencial. El procedimiento consiste en:


6. Desarrollo

En esta sección se aplica el Teorema de Bayes en un contexto de control de calidad con múltiples proveedores y observaciones sucesivas.

Inicialmente, se asignan probabilidades previas a cada proveedor, representando la proporción esperada de productos provenientes de cada uno. Estas probabilidades reflejan el conocimiento inicial antes de observar cualquier evidencia.

Posteriormente, se incorporan las probabilidades condicionales relacionadas con la calidad del producto, es decir, la probabilidad de que una pieza sea defectuosa o conforme dependiendo del proveedor.

El análisis se desarrolla de manera secuencial. En la primera inspección, se observa una pieza defectuosa, lo cual incrementa la probabilidad de los proveedores con mayor tasa de defectos. En la segunda inspección, al observar nuevamente una pieza defectuosa, este efecto se intensifica, concentrando la probabilidad en el proveedor con peor desempeño.

Finalmente, en la tercera inspección se observa una pieza conforme, lo cual modifica las probabilidades, favoreciendo a los proveedores con mejores niveles de calidad.

Este proceso demuestra el principio fundamental de la actualización secuencial: la probabilidad posterior obtenida en cada etapa se convierte en la probabilidad previa de la siguiente, permitiendo ajustar continuamente el modelo en función de la evidencia acumulada.


# ====================================================
# BAYES — Caso 2: Control de Calidad + Actualización
# Secuencial (múltiples inspecciones)
# ====================================================

bayes_tabla <- function(prior, likel, estados) {  
  # Se define una función que aplica el Teorema de Bayes
  # prior: probabilidades previas P(A)
  # likel: verosimilitudes P(E|A)
  # estados: nombres de los estados (proveedores)

  conjunta  <- prior * likel  
  # Calcula probabilidades conjuntas: P(A ∩ E) = P(A)*P(E|A)

  P_E       <- sum(conjunta)  
  # Calcula la evidencia total P(E), sumando todas las conjuntas

  posterior <- conjunta / P_E  
  # Aplica Bayes: P(A|E) = P(A∩E)/P(E), probabilidad actualizada

  df <- data.frame(
    Estado    = estados,              # Nombre de cada proveedor
    Prior     = round(prior,      4), # Probabilidades previas redondeadas
    Likel     = round(likel,      4), # Verosimilitudes redondeadas
    Conjunta  = round(conjunta,   4), # Probabilidades conjuntas
    P_E       = round(P_E,        4), # Evidencia total (misma para todos)
    Posterior = round(posterior,  4)  # Probabilidades posteriores finales
  )
  # Se construye una tabla resumen del proceso bayesiano

  list(tabla = df, posterior = posterior, P_E = P_E)  
  # La función devuelve:
  # - tabla: resumen completo
  # - posterior: vector de probabilidades actualizadas
  # - P_E: probabilidad de la evidencia
}

# Datos iniciales
estados  <- c("Proveedor A", "Proveedor B", "Proveedor C")  
# Define los posibles estados: cada proveedor

prior    <- c(0.60, 0.30, 0.10)  
# Probabilidades iniciales (prior): proporción esperada de cada proveedor

p_defecto <- c(0.01, 0.04, 0.12)   
# Probabilidad de que una pieza sea defectuosa dado el proveedor
# P(Defecto | Proveedor)

p_conforme <- c(0.99, 0.96, 0.88) 
# Probabilidad de que una pieza sea conforme (no defectuosa)
# P(Conforme | Proveedor)

# Inspección 1: pieza DEFECTUOSA
cat("=== INSPECCIÓN 1: DEFECTUOSA ===\n")  
## === INSPECCIÓN 1: DEFECTUOSA ===
# Imprime título en consola para identificar la inspección

res1 <- bayes_tabla(prior, p_defecto, estados)  
# Aplica Bayes usando como evidencia una pieza defectuosa

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
# Muestra columnas clave de la tabla (sin P_E para simplificar)

# ACTUALIZACIÓN SECUENCIAL:
# La posterior de hoy es el prior de mañana.

# Inspección 2: segunda pieza DEFECTUOSA
cat("\n=== INSPECCIÓN 2: DEFECTUOSA (prior actualizado) ===\n")  
## 
## === INSPECCIÓN 2: DEFECTUOSA (prior actualizado) ===
# Indica segunda inspección con evidencia defectuosa

res2 <- bayes_tabla(res1$posterior, p_defecto, estados)  
# Se usa la posterior anterior como nuevo prior (actualización secuencial)

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
# Muestra resultados actualizados

# Inspección 3: pieza CONFORME
cat("\n=== INSPECCIÓN 3: CONFORME ===\n")  
## 
## === INSPECCIÓN 3: CONFORME ===
# Indica tercera inspección con evidencia conforme

res3 <- bayes_tabla(res2$posterior, p_conforme, estados)  
# Se actualiza nuevamente usando evidencia de pieza conforme

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
# Muestra resultados finales tras las tres inspecciones

# Visualización de la evolución de posteriors
library(ggplot2); library(tidyr)  
# Carga librerías para graficar y transformar datos

evolución <- data.frame(
  Inspección = c("Prior", "Tras Def1", "Tras Def2", "Tras Conf"),  
  # Define las etapas del proceso (antes y después de cada evidencia)

  A = c(prior[1], res1$posterior[1], res2$posterior[1], res3$posterior[1]),  
  # Probabilidad del proveedor A en cada etapa

  B = c(prior[2], res1$posterior[2], res2$posterior[2], res3$posterior[2]),  
  # Probabilidad del proveedor B en cada etapa

  C = c(prior[3], res1$posterior[3], res2$posterior[3], res3$posterior[3])  
  # Probabilidad del proveedor C en cada etapa
)

df_long <- pivot_longer(evolución, -Inspección,
                         names_to = "Proveedor", values_to = "Probabilidad")  
# Convierte los datos a formato largo (tidy data) para graficar con ggplot

df_long$Inspección <- factor(df_long$Inspección,
                               levels = c("Prior","Tras Def1","Tras Def2","Tras Conf"))  
# Ordena las etapas correctamente en el eje X del gráfico

ggplot(df_long, aes(x = Inspección, y = Probabilidad, 
                     color = Proveedor, group = Proveedor)) +
  # Define el gráfico: eje X = inspección, eje Y = probabilidad, color por proveedor

  geom_line(linewidth = 1.2) +
  # Dibuja líneas que muestran la evolución de cada proveedor

  geom_point(size = 3.5) +
  # Agrega puntos en cada etapa para mayor claridad visual

  geom_label(aes(label = paste0(round(Probabilidad * 100, 1), "%")),
             size = 3, show.legend = FALSE) +
  # Muestra etiquetas con porcentajes en cada punto

  scale_color_manual(values = c(A="#3a7fbd", B="#d97706", C="#b0305a")) +
  # Asigna colores específicos a cada proveedor

  scale_y_continuous(labels = function(x) paste0(round(x*100,0),"%"), limits=c(0,1)) +
  # Formatea el eje Y como porcentaje entre 0% y 100%

  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)") +
  # Agrega título, subtítulo y etiqueta del eje Y

  theme_minimal()  

  # Aplica un estilo limpio al gráfico

7. Resultados

Los resultados muestran cómo las probabilidades asociadas a cada proveedor cambian después de cada inspección.

Inicialmente, las probabilidades reflejan la distribución esperada de proveedores. Tras observar piezas defectuosas, la probabilidad se concentra en el proveedor con mayor tasa de defectos. Sin embargo, cuando se observa una pieza conforme, esta tendencia se ajusta, redistribuyendo las probabilidades hacia proveedores con mejor calidad.

Esto evidencia que el modelo bayesiano responde dinámicamente a la información disponible.


8. Discusión

El uso de la actualización secuencial permite incorporar información en tiempo real, lo cual es una ventaja significativa en procesos de control de calidad.

Este enfoque permite identificar rápidamente problemas en la producción y ajustar decisiones sin necesidad de rehacer todo el análisis. Además, proporciona una herramienta objetiva para evaluar el desempeño de proveedores.

La variación de las probabilidades demuestra la importancia de considerar múltiples observaciones antes de tomar decisiones definitivas.


9. Conclusiones


10. Referencias