Kevin Daniel Diaz Ortega - 2419590
Lili Sofía
Cruz García - 2417663
Oscar Eduardo Males Muñoz - 2418427
En este taller se diseñan y comparan planes de muestreo de aceptación por variables y por atributos, utilizando los procedimientos y las tablas estudiados en Control de Calidad. En cada literal se presenta la pregunta del taller, el desarrollo en R y la respuesta interpretada, de modo que sea sencillo seguir la solución y sus resultados.
La decisión de aceptar o rechazar un lote se toma bajo riesgos establecidos para el productor (\(\alpha\)) y el consumidor (\(\beta\)). Un lote aceptado no significa que todas sus unidades sean conformes; significa que cumple la regla probabilística del plan seleccionado.
Se requiere que la densidad de las piezas de plástico utilizadas en teléfonos celulares sea de al menos 0,70 g/cm³. Las piezas se reciben en lotes grandes. Se necesita un plan que acepte con probabilidad del 90 % los lotes con 2 % de unidades no conformes y con probabilidad de apenas 6 % los lotes con 10 % de unidades no conformes.
Esto corresponde a un límite inferior de especificación (LIE) y a los dos puntos de riesgo de la curva característica de operación (OC):
\[ P_a(p_1=0.02)\geq 0.90,\qquad P_a(p_2=0.10)\leq 0.06. \]
#======================================================#
# EJERCICIO 1 - DATOS
#======================================================#
LIE_1 <- 0.70 # g/cm3
AQL_1 <- 0.02 # Calidad aceptable
alpha_1 <- 0.10 # Riesgo del productor
LTPD_1 <- 0.10 # Calidad rechazable
beta_1 <- 0.06 # Riesgo del consumidor
Pa_AQL_1 <- 1 - alpha_1
Pa_LTPD_1 <- beta_1
knitr::kable(
data.frame(
Parametro = c("LIE", "AQL", "Riesgo del productor (alfa)",
"LTPD", "Riesgo del consumidor (beta)"),
Valor = c("0.70 g/cm3", "2%", "10%", "10%", "6%")
),
caption = "Condiciones de diseño del plan por variables"
)| Parametro | Valor |
|---|---|
| LIE | 0.70 g/cm3 |
| AQL | 2% |
| Riesgo del productor (alfa) | 10% |
| LTPD | 10% |
| Riesgo del consumidor (beta) | 6% |
Encuentre el plan de muestreo \((n,k)\) por el método k, suponiendo que la desviación estándar del proceso es conocida.
Cuando la desviación estándar poblacional (\(\sigma\)) es conocida, el criterio de aceptación para una especificación inferior es:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{\sigma}\geq k. \]
Para una característica normalmente distribuida, la probabilidad de aceptar un lote con proporción de no conformes \(p\) se expresa como:
\[ P_a(p)=\Phi\left[\sqrt n\left(z_{1-p}-k\right)\right]. \]
El tamaño teórico de muestra se obtiene mediante los dos puntos OC:
\[ n=\left(\frac{z_{1-\alpha}-z_{\beta}}{z_{1-p_1}-z_{1-p_2}}\right)^2. \]
Luego se redondea hacia arriba y se calcula la constante de aceptación a partir del punto del productor:
\[ k=z_{1-p_1}-\frac{z_{1-\alpha}}{\sqrt n}. \]
#------------------------------------------------------#
# A. DESVIACION ESTANDAR CONOCIDA
#------------------------------------------------------#
z_AQL <- qnorm(1 - AQL_1)
z_LTPD <- qnorm(1 - LTPD_1)
n_teorico_conocida <- ((qnorm(Pa_AQL_1) - qnorm(Pa_LTPD_1)) /
(z_AQL - z_LTPD))^2
n_conocida <- ceiling(n_teorico_conocida)
k_conocida <- z_AQL - qnorm(Pa_AQL_1)/sqrt(n_conocida)
# Probabilidad de aceptacion de un plan k con sigma conocida
Pa_k_conocida <- function(p, n, k) {
pnorm(sqrt(n) * (qnorm(1 - p) - k))
}
Pa_conocida_AQL <- Pa_k_conocida(AQL_1, n_conocida, k_conocida)
Pa_conocida_LTPD <- Pa_k_conocida(LTPD_1, n_conocida, k_conocida)
cat("Tamaño teórico de muestra:", round(n_teorico_conocida, 4), "\n")## Tamaño teórico de muestra: 13.4914
## Tamaño entero (n): 14
## Constante de aceptación (k): 1.71124
knitr::kable(
data.frame(
Punto = c("AQL = 2%", "LTPD = 10%"),
Pa_obtenida = sprintf("%.4f%%", 100*c(Pa_conocida_AQL, Pa_conocida_LTPD)),
Exigencia = c("Al menos 90%", "Como máximo 6%"),
Cumple = c(Pa_conocida_AQL >= Pa_AQL_1,
Pa_conocida_LTPD <= Pa_LTPD_1)
),
caption = "Verificación de los dos puntos OC (sigma conocida)"
)| Punto | Pa_obtenida | Exigencia | Cumple |
|---|---|---|---|
| AQL = 2% | 90.0000% | Al menos 90% | TRUE |
| LTPD = 10% | 5.3945% | Como máximo 6% | TRUE |
El plan de muestreo seleccionado utilizando la desviación estándar conocida es \(n=14\) y \(k=1.7112\). Esto muestra que se van a tomar 14 muestras y el plan cumple con los criterios de calidad establecidos tanto para el productor como para el consumidor.
Encuentre el plan suponiendo ahora que la desviación estándar es desconocida y debe estimarse con la muestra. Compare los tamaños de muestra de ambos planes y explique a qué se debe la diferencia.
Cuando \(\sigma\) no se conoce, debe estimarse mediante la desviación estándar muestral (\(S\)). El estadístico de decisión sigue siendo \(Z_{LIE}=(\bar{x}-LIE)/S\), pero su distribución muestral ya no es normal estándar: se utiliza una distribución t no central.
\[ T=\sqrt{n}\,\frac{\bar{x}-LIE}{S},\qquad T\sim t_{n-1}\left(\delta=\sqrt{n}\,z_{1-p}\right). \]
La probabilidad de aceptación se obtiene como \(P(T\geq k\sqrt{n})\). Para buscar el tamaño mínimo se evalúan conjuntamente los tamaños enteros \(n\) mediante operaciones vectorizadas en R y se selecciona el primero para el cual existe un valor \(k\) que satisface ambos puntos de riesgo.
#------------------------------------------------------#
# B. DESVIACION ESTANDAR DESCONOCIDA
#------------------------------------------------------#
# La t no central permite evaluar los riesgos al estimar sigma con S.
# Evaluar simultáneamente los tamaños muestrales, sin usar for.
n_candidatos <- 2:500
gl_candidatos <- n_candidatos - 1
# Límites de k requeridos por el productor y consumidor.
k_maximos <- qt(alpha_1, df = gl_candidatos,
ncp = sqrt(n_candidatos)*z_AQL) / sqrt(n_candidatos)
k_minimos <- qt(1-beta_1, df = gl_candidatos,
ncp = sqrt(n_candidatos)*z_LTPD) / sqrt(n_candidatos)
# Identificar el primer tamaño que cumple ambas condiciones.
viables <- which(k_minimos <= k_maximos)
if (length(viables) == 0) stop("No se encontró un plan viable.")
primero <- viables[1]
n_desconocida <- n_candidatos[primero]
k_desconocida <- k_maximos[primero]
Pa_k_desconocida <- function(p, n, k) {
pt(k*sqrt(n), df = n-1, ncp = sqrt(n)*qnorm(1-p),
lower.tail = FALSE)
}
Pa_desconocida_AQL <- Pa_k_desconocida(AQL_1, n_desconocida, k_desconocida)
Pa_desconocida_LTPD <- Pa_k_desconocida(LTPD_1, n_desconocida, k_desconocida)
diferencia_n <- n_desconocida - n_conocida
cat("Plan con sigma desconocida: n =", n_desconocida,
"; k =", round(k_desconocida, 6), "\n")## Plan con sigma desconocida: n = 34 ; k = 1.716952
## Pa(2%): 90 %
## Pa(10%): 5.82 %
knitr::kable(
data.frame(
Condicion = c("Sigma conocida", "Sigma desconocida"),
n = c(n_conocida, n_desconocida),
k = round(c(k_conocida, k_desconocida), 4),
Pa_AQL = sprintf("%.3f%%",100*c(Pa_conocida_AQL,Pa_desconocida_AQL)),
Pa_LTPD = sprintf("%.3f%%",100*c(Pa_conocida_LTPD,Pa_desconocida_LTPD))
),
caption = "Comparación de planes por variables"
)| Condicion | n | k | Pa_AQL | Pa_LTPD |
|---|---|---|---|---|
| Sigma conocida | 14 | 1.7112 | 90.000% | 5.395% |
| Sigma desconocida | 34 | 1.7170 | 90.000% | 5.820% |
Utilizando una desviación estándar desconocida, el plan de muestreo pasa a ser \(n=34\) y \(k=1.717\). El número de muestras aumenta porque es necesario estimar la variabilidad del proceso utilizando la muestra.
Con el plan del literal b, se tomó una muestra del tamaño indicado y se obtuvo un promedio de \(0,73\;\mathrm{g/cm^3}\) y una desviación estándar \(S=0,018\;\mathrm{g/cm^3}\). ¿Cuál es la decisión a tomar? Exprese también el criterio de aceptación en términos de \(\bar{x}\), de forma que pueda aplicarlo directamente el inspector.
Se dispone de una muestra de tamaño 34, con media \(\bar{x}=0.73\) g/cm³ y desviación estándar \(S=0.018\) g/cm³. El inspector debe comprobar:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{S}\geq k. \]
Despejando la media, se obtiene una regla sencilla para aplicación directa:
\[ \boxed{\bar{x}\geq LIE+kS}. \]
#------------------------------------------------------#
# C. DECISION DEL LOTE
#------------------------------------------------------#
xbarra_1 <- 0.73
S_1 <- 0.018
Z_LIE_1 <- (xbarra_1 - LIE_1)/S_1
xbarra_minima_1 <- LIE_1 + k_desconocida*S_1
decision_1 <- if (Z_LIE_1 >= k_desconocida) "ACEPTAR" else "RECHAZAR"
cat("Estadístico Z_LIE:", round(Z_LIE_1, 6), "\n")## Estadístico Z_LIE: 1.666667
## Constante k: 1.716952
## Media mínima para aceptar: 0.730905 g/cm3
## Media observada: 0.73 g/cm3
## DECISIÓN: RECHAZAR EL LOTE
La media observada (0,730 g/cm³) fue ligeramente inferior a la requerida por el plan de aceptación (0,730905 g/cm³). Por esta razón, el lote se rechaza.
Para futuras muestras con tamaño 34, el inspector puede usar directamente la regla \(\bar{x}\geq 0.70+1.717\times S\). No basta con que la media supere 0,70: también se debe tener en cuenta la variabilidad.
Un ingenio recibe lotes de 2.500 sacos de azúcar. Los sacos de 49,8 kg o menos se consideran de bajo peso. Se requiere diseñar un plan según MIL-STD-414, con nivel general de inspección IV, AQL de 0,15 %, inspección normal y desviación estándar desconocida. Posteriormente se evaluará la misma muestra bajo inspección severa.
En este caso solo existe un límite inferior de especificación. El método M compara el porcentaje de no conformes estimado (\(P_i\)) con el valor máximo admisible (\(M\)) de la tabla.
#======================================================#
# EJERCICIO 2 - DATOS
#======================================================#
N_2 <- 2500
LIE_2 <- 49.8
AQL_2 <- 0.0015 # 0.15% como proporción
nivel_2 <- "IV"
xbarra_2 <- 50.05
S_2 <- 0.1
cat("Tamaño del lote:", N_2, "sacos\n")## Tamaño del lote: 2500 sacos
## LIE: 49.8 kg
## Nivel de inspección: IV
## AQL: 0.15 %
Enuncie el plan de muestreo correspondiente: letra código, tamaño de muestra \(n\) y máximo porcentaje admisible \(M\).
Se utilizan las tablas MIL-STD-414 presentadas en las diapositivas 17 y 18 de 6. Planes de muestreo por Variables:
Estos valores proceden de las tablas del curso; se escriben como parámetros, no se calculan con una distribución de probabilidad.
#------------------------------------------------------#
# A. CONSULTA DE LAS TABLAS MIL-STD-414
#------------------------------------------------------#
letra_codigo_2 <- "L"
n_2 <- 40
M_normal_pct_2 <- 0.566
M_severa_pct_2 <- 0.401
# Convertimos los porcentajes a proporciones para comparar con Pi.
M_normal_2 <- M_normal_pct_2/100
M_severa_2 <- M_severa_pct_2/100
knitr::kable(
data.frame(
Inspeccion = c("Normal", "Severa"),
Letra = c(letra_codigo_2, letra_codigo_2),
n = c(n_2, n_2),
M_porcentaje = sprintf("%.3f%%", c(M_normal_pct_2, M_severa_pct_2))
),
caption = "Plan seleccionado con las tablas MIL-STD-414"
)| Inspeccion | Letra | n | M_porcentaje |
|---|---|---|---|
| Normal | L | 40 | 0.566% |
| Severa | L | 40 | 0.401% |
En la inspección normal, la letra código es L, el tamaño de muestra es de 40 bolsas y el porcentaje máximo admisible es \(M = 0,566\%\). El lote es aceptable si el porcentaje estimado de bolsas con peso inferior al límite de especificación no supera este valor.
Si se realiza el muestreo de las \(n\) unidades indicadas por el plan y se encuentra una media muestral de 50,05 kg y una desviación estándar de 0,1 kg, ¿se acepta o no dicho lote?
De la muestra se obtiene \(\bar{x}=50.05\) kg y \(S=0.1\) kg. Se calcula:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{S}. \]
Dado que \(\sigma\) es desconocida, el procedimiento M estima \(P_i\) mediante las tablas de conversión correspondientes. Para obtener el mismo resultado en R base se utiliza la función beta incompleta, equivalente al estimador de la tabla para \(S\) desconocida:
\[ P_i=F_{\mathrm{Beta}(n/2-1,\ n/2-1)}\left(\frac12-\frac{Z_{LIE}\sqrt n}{2(n-1)}\right), \]
limitando el argumento de la función beta al intervalo \([0,1]\). Esta expresión reproduce los valores de la tabla utilizada en clase. Regla de decisión: aceptar si \(P_i\leq M\); rechazar si \(P_i>M\).
#------------------------------------------------------#
# B. PORCENTAJE ESTIMADO DE NO CONFORMES
#------------------------------------------------------#
# Implementación sin paquetes extra del método M, sigma desconocida.
EPn_inferior_desconocida <- function(LSL, xbar, s, n) {
if (n <= 2 || s <= 0) stop("Se requiere n > 2 y s > 0")
z <- (xbar - LSL)/s
x_beta <- 0.5 - 0.5*z*sqrt(n)/(n-1)
x_beta <- max(0, min(1, x_beta))
pbeta(x_beta, shape1 = n/2-1, shape2 = n/2-1)
}
Z_LIE_2 <- (xbarra_2 - LIE_2)/S_2
Pi_2 <- EPn_inferior_desconocida(LIE_2, xbarra_2, S_2, n_2)
decision_normal_2 <- if (Pi_2 <= M_normal_2) "ACEPTAR" else "RECHAZAR"
cat("Z_LIE =", round(Z_LIE_2, 4), "\n")## Z_LIE = 2.5
## Porcentaje estimado Pi = 0.472539 %
## Máximo M (normal) = 0.566 %
## DECISIÓN: ACEPTAR EL LOTE
El valor del estadístico es \(Z_{LIE} = 2,5\) y el porcentaje estimado es \(P_i = 0,4725\%\) de bolsas por debajo del límite de especificación. Dado que 0,4725 % es menor que \(M = 0,566\%\), la decisión bajo inspección normal es ACEPTAR el lote.
Suponga que, por el historial reciente de calidad, el lote debe evaluarse bajo inspección severa. ¿Cambia la decisión? ¿Qué implica esto para el ingenio?
La norma mantiene la letra código y el tamaño de muestra, pero reduce el porcentaje máximo admitido. El mismo \(P_i\) debe compararse ahora con \(M=0,401\%\).
#------------------------------------------------------#
# C. INSPECCION SEVERA
#------------------------------------------------------#
decision_severa_2 <- if (Pi_2 <= M_severa_2) "ACEPTAR" else "RECHAZAR"
knitr::kable(
data.frame(
Inspeccion = c("Normal", "Severa"),
n = c(n_2, n_2),
Pi_estimado = sprintf("%.4f%%", 100*Pi_2),
M_admisible = sprintf("%.3f%%", c(M_normal_pct_2, M_severa_pct_2)),
Decision = c(decision_normal_2, decision_severa_2)
),
caption = "Comparación de decisiones en inspección normal y severa"
)| Inspeccion | n | Pi_estimado | M_admisible | Decision |
|---|---|---|---|---|
| Normal | 40 | 0.4725% | 0.566% | ACEPTAR |
| Severa | 40 | 0.4725% | 0.401% | RECHAZAR |
Sí cambia la decisión. Dado que el porcentaje estimado es del 0,4725 %, el cual es mayor al máximo permitido de 0,401 %, el lote debe ser RECHAZADO bajo inspección severa. Para la fábrica, esto indica la necesidad de mejorar el control de calidad y gestionar adecuadamente el lote rechazado.
Se toman nuevamente las condiciones del ejercicio 1: \(p_1=2\%\), \(\alpha=10\%\), \(p_2=10\%\) y \(\beta=6\%\). Debe diseñarse un plan simple por atributos y compararse con los planes por variables.
Como el enunciado indica que se reciben grandes lotes, se usa el modelo binomial para contar piezas no conformes. Para este plan, \(n\) es la muestra y \(c\) es la cantidad máxima de no conformes que permite aceptar el lote:
\[ P_a(p)=P(D\leq c)=\sum_{d=0}^{c}{n\choose d}p^d(1-p)^{n-d}. \]
Diseñe un plan de muestreo simple por atributos \((n,c)\) que cumpla con ambos puntos de la curva OC.
Se buscan valores enteros de \(n\) y \(c\) que cumplan las dos condiciones:
\[ P_a(0.02)\geq 0.90,\qquad P_a(0.10)\leq 0.06. \]
Se utiliza find.plan() del paquete
AcceptanceSampling, como en el código trabajado en clase,
para encontrar el plan \((n,c)\) que
satisface ambos riesgos sin emplear ciclos for.
#======================================================#
# EJERCICIO 3 - PLAN SIMPLE POR ATRIBUTOS
#======================================================#
# Si aún no tiene el paquete, instalar UNA vez en la consola:
# install.packages("AcceptanceSampling")
library(AcceptanceSampling)
# Parámetros del plan
AQL <- AQL_1
alpha <- alpha_1
LTPD <- LTPD_1
beta <- beta_1
# Encontrar el plan sin ciclos for
resultado_plan <- find.plan(
PRP = c(AQL, 1-alpha),
CRP = c(LTPD, beta),
type = "binomial"
)
# Mostrar el tamaño de muestra, aceptación y rechazo
resultado_plan## $n
## [1] 73
##
## $c
## [1] 3
##
## $r
## [1] 4
n_atributos <- resultado_plan$n
c_atributos <- resultado_plan$c
r_atributos <- resultado_plan$r
# Calcular las probabilidades reales de aceptación
Pa_AQL <- pbinom(c_atributos, n_atributos, AQL)
Pa_LTPD <- pbinom(c_atributos, n_atributos, LTPD)
# Conservar nombres utilizados en los literales siguientes
plan_atributos <- list(
n = n_atributos,
c = c_atributos,
r = r_atributos,
Pa_AQL = Pa_AQL,
Pa_LTPD = Pa_LTPD
)
cat("Tamaño de muestra n:", n_atributos, "\n")## Tamaño de muestra n: 73
## Número de aceptación c: 3
## Número de rechazo r: 4
## Pa(AQL): 94.1157 %
## Pa(LTPD): 5.7952 %
knitr::kable(
data.frame(
Punto = c("AQL = 2%", "LTPD = 10%"),
Pa = round(c(Pa_AQL, Pa_LTPD)*100, 4),
Condicion = c("Mayor o igual a 90%", "Menor o igual a 6%"),
Cumple = c(Pa_AQL >= 1-alpha, Pa_LTPD <= beta)
),
caption = "Verificación de riesgos del plan simple por atributos"
)| Punto | Pa | Condicion | Cumple |
|---|---|---|---|
| AQL = 2% | 94.1157 | Mayor o igual a 90% | TRUE |
| LTPD = 10% | 5.7952 | Menor o igual a 6% | TRUE |
El plan obtenido mediante find.plan() es \(n=\) 73, \(c=\) 3 y \(r=\) 4. Se inspeccionan 73 piezas
y se acepta el lote si se encuentran 3 o menos
unidades no conformes. Se rechaza cuando
aparecen 4 o más unidades no conformes. Las
probabilidades de aceptación son 94.1157 % para lotes
con 2 % de unidades defectuosas, que supera el mínimo del 90 %, y
5.7952 % para lotes con 10 % de defectuosas, inferior
al máximo del 6 %. Por tanto, el plan cumple ambos riesgos y
protege al productor y al consumidor.
Compare el tamaño de muestra de este plan con los de los planes por variables obtenidos en el punto 1. ¿Cuál requiere menos unidades inspeccionadas?
#------------------------------------------------------#
# B. TABLA COMPARATIVA DE LOS TRES PLANES
#------------------------------------------------------#
tabla_comparacion <- data.frame(
Plan = c("Variables, sigma conocida",
"Variables, sigma desconocida",
"Atributos, plan simple"),
Muestra_n = c(n_conocida, n_desconocida, n_atributos),
Regla = c(sprintf("k = %.4f", k_conocida),
sprintf("k = %.4f", k_desconocida),
sprintf("c = %d", c_atributos))
)
knitr::kable(tabla_comparacion,
caption = "Comparación de tamaños muestrales")| Plan | Muestra_n | Regla |
|---|---|---|
| Variables, sigma conocida | 14 | k = 1.7112 |
| Variables, sigma desconocida | 34 | k = 1.7170 |
| Atributos, plan simple | 73 | c = 3 |
cat("Atributos vs. variables con sigma desconocida:",
n_atributos-n_desconocida, "unidades adicionales\n")## Atributos vs. variables con sigma desconocida: 39 unidades adicionales
cat("Atributos vs. variables con sigma conocida:",
n_atributos-n_conocida, "unidades adicionales\n")## Atributos vs. variables con sigma conocida: 59 unidades adicionales
El plan que requiere menos unidades inspeccionadas es el de variables con desviación conocida, con 14 piezas. El plan por variables con desviación desconocida requiere 34, mientras que el plan por atributos necesita 73. Por tanto, los planes por variables son más eficientes en cantidad de inspecciones, aunque esto no asegura que sean los más económicos.
Si medir la densidad exige un ensayo de laboratorio costoso y destructivo, mientras que clasificar una pieza como conforme o no conforme es rápido y económico, ¿qué plan recomendaría? ¿Qué otros factores tendría en cuenta?
Si medir densidad exige una prueba de laboratorio costosa y destructiva, pero la clasificación por atributos es rápida y barata, el número de muestras por sí solo no basta para escoger el método.
Definamos los costos variables por unidad examinada:
\[ C_{\mathrm{atributos}}=n_a\,C_a,\qquad C_{\mathrm{variables}}=n_v\,C_v. \]
Para el caso en que \(\sigma\) es desconocida, el punto en que ambos costos variables se igualan es:
\[ \frac{C_v}{C_a}=\frac{n_a}{n_v}. \]
#------------------------------------------------------#
# C. UMBRAL DE COSTO PARA COMPARAR LOS PLANES
#------------------------------------------------------#
umbral_costos_desconocida <- n_atributos / n_desconocida
umbral_costos_conocida <- n_atributos / n_conocida
cat("Si sigma es desconocida, el ensayo por variables debe costar\n")## Si sigma es desconocida, el ensayo por variables debe costar
## menos de 2.147 veces el costo unitario de clasificar
## para tener menor costo variable que el plan por atributos.
## Si sigma es conocida, ese cociente es 5.214
Se recomienda el uso de un plan de muestreo por atributos cuando el proceso de clasificación de las piezas se realiza de manera rápida y precisa, sin destruirlas. Aunque se inspeccionarán más unidades usando este método, podría ayudar a ahorrar dinero, ya que no sería necesario realizar pruebas de laboratorio.
Sin embargo, también se deben considerar otros factores, como el costo de las pruebas, el tiempo de análisis, la disponibilidad de los equipos y las consecuencias de aceptar piezas no conformes. Si para clasificar las piezas es necesario realizar la misma prueba de densidad, el beneficio económico de este plan podría desaparecer.
Estas curvas permiten comparar cómo cambia la probabilidad de aceptar un lote a medida que aumenta la proporción de unidades no conformes. Los puntos de riesgo establecidos se muestran en el gráfico.
#------------------------------------------------------#
# GRAFICA DE LAS TRES CURVAS OC
#------------------------------------------------------#
P <- seq(0.001, 0.14, by = 0.001)
Pa_atributos <- pbinom(c_atributos, n_atributos, P)
Pa_variables_conocida <- Pa_k_conocida(P, n_conocida, k_conocida)
Pa_variables_desconocida <- sapply(
P, Pa_k_desconocida,
n = n_desconocida, k = k_desconocida
)
plot(P, Pa_atributos,
type = "l", lwd = 2, col = "#175CD3",
xlab = "Proporción de unidades no conformes (p)",
ylab = "Probabilidad de aceptación (Pa)",
main = "Curvas OC de los tres planes",
xlim = c(0, 0.14), ylim = c(0, 1))
lines(P, Pa_variables_conocida,
col = "#64748B", lwd = 2, lty = 2)
lines(P, Pa_variables_desconocida,
col = "#123B73", lwd = 2, lty = 3)
abline(v = c(AQL_1, LTPD_1), col = "gray50", lty = 3)
points(c(AQL_1, LTPD_1), c(Pa_AQL_1, Pa_LTPD_1),
pch = 19, col = "black")
grid()
legend("topright", bty = "n", cex = 0.72,
legend = c(sprintf("Atributos (n=%d, c=%d)", n_atributos, c_atributos),
sprintf("Variables, sigma conocida (n=%d)", n_conocida),
sprintf("Variables, sigma desconocida (n=%d)", n_desconocida),
"Puntos de diseño (AQL y LTPD)"),
col = c("#175CD3", "#64748B", "#123B73", "black"),
lty = c(1, 2, 3, NA), pch = c(NA, NA, NA, 19),
lwd = c(2, 2, 2, NA))Comparación de curvas OC para los planes por variables y atributos
Bermúdez Vera, I. M. (2026). Muestreo por variables [Presentación de clase]. Universidad del Valle, Control de Calidad.
Burr, I. (1976). Statistical quality control methods.
Duncan, A. J. (1989). Control de calidad y estadística industrial (5.ª ed.). Alfa Omega.
Gutiérrez Pulido, H. (2009). Control de calidad y Seis Sigma (2.ª ed.). McGraw-Hill.
Montgomery, D. C. (2004). Control estadístico de la calidad (3.ª ed.). Limusa Wiley.
Vargas, J. A. (2006). Control estadístico de calidad (1.ª ed.). Universidad Nacional.