En la inspección de lotes, la “Creencia Bayesiana” nos permite identificar al proveedor responsable de un fallo mediante la acumulación de evidencia:
A continuación, programamos la lógica de actualización paso a paso con comentarios técnicos:
# --- FUNCIÓN TÉCNICA DE ACTUALIZACIÓN ---
bayes_update <- function(prior, likel, estados) {
conjunta <- prior * likel # Calcula P(S) * P(D|S)
evidencia <- sum(conjunta) # Suma de conjuntas (Prob. Total)
posterior <- conjunta / evidencia # Normalización: (Conjunta / Total)
df <- data.frame( # Organiza los datos en una tabla
Estado = estados, # Proveedores evaluados
Prior = round(prior, 4), # Creencia antes del dato actual
Verosimil = round(likel, 4), # Probabilidad del evento observado
Conjunta = round(conjunta, 4), # Peso relativo del escenario
Posterior = round(posterior, 4) # Creencia actualizada tras el dato
)
return(list(tabla = df, post = posterior)) # Retorna la tabla y el vector posterior
}
# --- ENTRADA DE DATOS INICIALES ---
proveedores <- c("Proveedor A", "Proveedor B", "Proveedor C") # Definición de estados
cuota_mercado <- c(0.60, 0.30, 0.10) # Prior inicial P(S)
tasa_fallo <- c(0.01, 0.04, 0.12) # Verosimilitud P(Defecto|S)
tasa_bueno <- 1 - tasa_fallo # Verosimilitud P(Conforme|S)
# --- FASE 1: PRIMERA PIEZA DEFECTUOSA ---
res1 <- bayes_update(cuota_mercado, tasa_fallo, proveedores) # Ejecuta primer cálculo
knitr::kable(res1$tabla, caption = "Tabla tras 1ra Inspección (Falla)")| Estado | Prior | Verosimil | Conjunta | Posterior |
|---|---|---|---|---|
| Proveedor A | 0.6 | 0.01 | 0.006 | 0.2 |
| Proveedor B | 0.3 | 0.04 | 0.012 | 0.4 |
| Proveedor C | 0.1 | 0.12 | 0.012 | 0.4 |
# --- FASE 2: SEGUNDA PIEZA DEFECTUOSA (RECURSIVIDAD) ---
res2 <- bayes_update(res1$post, tasa_fallo, proveedores) # Usa la posterior 1 como nuevo prior
knitr::kable(res2$tabla, caption = "Tabla tras 2da Inspección (Falla)")| Estado | Prior | Verosimil | Conjunta | Posterior |
|---|---|---|---|---|
| Proveedor A | 0.2 | 0.01 | 0.002 | 0.0303 |
| Proveedor B | 0.4 | 0.04 | 0.016 | 0.2424 |
| Proveedor C | 0.4 | 0.12 | 0.048 | 0.7273 |
# --- FASE 3: TERCERA PIEZA CONFORME ---
res3 <- bayes_update(res2$post, tasa_bueno, proveedores) # Actualiza con pieza que NO falló
knitr::kable(res3$tabla, caption = "Tabla tras 3ra Inspección (Buena)")| Estado | Prior | Verosimil | Conjunta | Posterior |
|---|---|---|---|---|
| Proveedor A | 0.0303 | 0.99 | 0.0300 | 0.0332 |
| Proveedor B | 0.2424 | 0.96 | 0.2327 | 0.2578 |
| Proveedor C | 0.7273 | 0.88 | 0.6400 | 0.7090 |
Analizamos cómo se desplaza la “sospecha” entre proveedores conforme inspeccionamos más piezas.
Estado de la Creencia: Tras dos fallos consecutivos, la probabilidad de que el lote sea del Proveedor C pasó de un 10% inicial a un 72.7%. La evidencia ha superado al peso de la cuota de mercado inicial.
Decisión Recomendada: 1. Identificación del Origen: Se concluye con alta certeza estadística que el lote inspeccionado proviene del Proveedor C. 2. Acción Correctiva: Se sugiere suspender la producción de este lote y realizar una auditoría técnica al Proveedor C, dado que su frecuencia de fallo observada es inconsistente con los estándares de calidad esperados.