Como dibujar la curva característica de operación de un plan de muestreo simple con Julia
control de calidad
julia
Autor/a
runjaj
Fecha de publicación
30 de junio de 2023
En un plan de muestreo de aceptación la curva característica de operación muestra la probabilidad de aceptar (\(P_a\)) un lote en función de su nivel de calidad o fracción de disconformidades (\(p\)).
A continuación vamos a ver como representar estas curvas con Julia. También se pueden representar con R, pero en este caso lo más sencillo es utilizar la librería AcceptanceSampling, a no ser que se quieran conocer los detalles de estas representaciones.
La curva característica de operación depende de tres factores:
La función de distribución que utilicemos para realizar el cálculo. Las opciones más habituales son:
Hipergeométrica: Se utiliza cuando el tamaño del lote (\(n\)) es más de un 10% del tamaño del lote (\(N\)).
Binomial: Una función más sencilla de utilizar. Se utiliza para lotes grandes, cuando el tamaño de muestra es menos de la décima parte del tamaño del lote.
Poisson: Todavía más sencilla de utilizar. Además de solo usarse para lotes grandes, los lotes deben tener una fracción de disconformidades pequeña, se debe cumplir la condición \(np<5\).
Variables: En este caso se utiliza la función de distribución normal.
El tamaño de muestra.
El criterio de aceptación.
Código
usingKrokiDiagram(:mermaid, """flowchart TD A[Hipergeométrica] --> |"n/N ≤ 0.1 ."| B[p-Binomial] B --> |"np < 5"| Poisson B --> |"np ≥ 5"| Normal A --> |n/N > 0.1 .|C{"¿p?"} C --> |"p ≤ 0.1 ."| f-Binomial C --> | p > 0.1 .| Ninguna""")
Una vez seleccionada la función de distribución a utilizar, solo hay que representar la función de distribución acumulada.
\(p\) es la fracción de unidades no conformes, \(p=d/n\) (\(d\) es el número de disconformidades)
Afortunadamente la librería ‘Distributions.jl’ dispone de la función hipergeométrica y de la función ‘cdf’ para calcular el valor acumulado. La probabilidad de aceptación para un determinado número de unidades disconformes es:
cdf(Hypergeometric(d, N-d, n), c)
La representación de la curva característica de operación es sencilla. Consideremos un ejemplo en el que el tamaño del lote es de 100 unidades, el tamaño de la muestra es de 30 y el criterio de aceptación es de 2.
En primer lugar, cargaremos las librerías necesarias y definiremos las variables necesarias:
usingPlots, DistributionsN =100n =30c =2
2
El paso siguiente será calcular las probabilidades de aceptación para los valores de disconformidades a reprentar. En este caso, realizamos el cálculo para un número de unidades no conformes entre 0 y \(n\):
Pa_h = [cdf(Hypergeometric(d, N-d, n), c) for d in0:n]
Por último solo queda representar la curva característica de operación. Los función de distribución es discreta, por lo solo tenemos los puntos a representar. Añadimos las rectas entre ellos para que la curva quede más clara.
scatter((0:n)./N, Pa_h, legend=false, xlabel="p", ylabel="Pₐ", title="Función hipergeométrica, N = $N, n = $n, c = $c")plot!((0:n)./N, Pa_h)
En la representación hemos puesto en el eje horizontal \(p\), pero podíamos haber dejado \(d\):
scatter(0:n, Pa_h, legend=false, xlabel="d", ylabel="Pₐ", title="Función hipergeométrica, n = $n, c = $c")plot!(0:n, Pa_h)
Binomial
En el caso de utilizar la función de distribución binomial, la función a utilizar es:
donde \(\mu\) es el número de defectos medio y su valor es \(\mu = n p\).
Nuevamente definimos una función para calcular la probabilidad de aceptación:
Pap(p, n, c) =cdf(Poisson(p*n), c)
Pap (generic function with 1 method)
Como en los casos anteriores, calculamos las probabilidades de aceptación a representar y realizamos el gráfico:
Pa_p = [Pap(p, n, c) for p in (0:n)./N]scatter((0:n)./N, Pa_p, legend=false, xlabel="p", ylabel="Pₐ", title="Función Poisson, N = $N, n = $n, c = $c")plot!((0:n)./N, Pa_p)
Comparativa
Podemos comparar las tres curvas características de operación:
plot((0:n)./N, [Pa_h, Pa_b, Pa_p], xlabel="p", ylabel="Pₐ", title="N = $N, n = $n, c = $c", label=["Hipergeomética""Binomial""Poisson"])
Variables
En el caso de los planes de aceptación para variables utilizaremos la función de distribución normal. A diferencia de las anteriores se trata de una función continua.
\(\sigma\) conocida
Si se conoce la desviación estándar histórica del parámetro de calidad, la probabilidad de aceptación se calcula en este caso como:
donde \(f\) es el número de grados de libertad (\(n-1\)), \(\delta\) es el parámetro de no centralidad (\(k \sqrt{n}\)) y \(t\) es la variable aleatoria. Esta probabilidad se basa en la función de distribución t de Student no central, se pueden encontrar más detalles en el capítulo 10 de Schilling y Neubauer (2009).
El cálculo de esta probabilidad de aceptación queda así:
Pat(p, n, k) =ccdf(NoncentralT(n-1, cquantile(Normal(),p)*sqrt(n)), k*sqrt(n))
Pat (generic function with 1 method)
La representación de la curva característica de operación queda así:
Dibujar las curvas características de operación de Julia no es complicado, pero requiere un cierto conocimiento de la base estadística del muestreo de aceptación y de Julia. Si no se utilizan con una cierta frecuencia es fácil olvidar como se dibujan. De hecho mi principal interés al escribir este texto es tener en un solo lugar todas estas “recetas” para poder consultarlas más adelante.
Referencias
Schilling, Edward G., y Dean V. Neubauer. 2009. Acceptance Sampling in Quality Control. 2.ª ed. Chapman and Hall/CRC. https://doi.org/10.1201/9781584889533.