El propósito del siguiente análisis es medir la capacidad del proceso y saber si el proceso de producción se desarrolla mediante unos estándares de calidad que minimice el coste de producción.
library(readxl)
library(SixSigma)
## Warning: package 'SixSigma' was built under R version 4.0.3
library(qualityTools)
## Warning: package 'qualityTools' was built under R version 4.0.3
## Loading required package: Rsolnp
## Warning: package 'Rsolnp' was built under R version 4.0.3
## Loading required package: MASS
##
## Attaching package: 'qualityTools'
## The following object is masked from 'package:stats':
##
## sigma
capacidad<- read_excel("Capability-CD.XLS")
View(capacidad)
Los datos se corresponden al grosor en milímetros de una muestra CDs, por lo tanto creemos que un exceso o una falta de grosor puede provocar su inutilidad.
Para comenzar con el análisis, extraeremos una serie parámetros descriptivos que emplearemos para calcular los límites de producción. No obstante, normalmente estos límites vienen dados por el departamento de producción o se extraen directamente de los requisitos especificados por los clientes.
# Parámetros descriptivos
m<-mean(capacidad$CD)
v<-var(capacidad$CD)
s<-sd(capacidad$CD)
datos=capacidad$CD
Caso 1. Límites de especificación a una distancia sigma de la media
Estableceremos los límites a con una exigencia bastante alta a una distancia \(\sigma\) de la media:
# Límites de especificación a una distancia sigma de la media
lsl= m-s
usl= m+s
# Análisis de capacidad
ss.study<-ss.study.ca(xST=datos,Target=mean(datos), LSL=lsl, USL= usl)
A una distancia sigma y con un \(C_p\) bastante bajo (0.33), podemos observar que el análisis es poco adecuado, ya que muchos de los CDs serán desechados sin ser muchos de ellos defectuosos.
Caso 2. Límites de especificación a una distancia 2\(\sigma\) de la media
Estableceremos los límites a con una exigencia más baja que la anterior a una distancia 2\(\sigma\) de la media:
# Límites de especificación a una distancia 2*sigma de la media
lsl = m-2*s
usl = m+2*s
# Análisis de capacidad
ss.study<-ss.study.ca(xST=datos,Target=mean(datos), LSL=lsl, USL= usl)
A una distancia 2 sigma y con un \(C_p\) superior al anterior (0.67), el proceso sigue siendo poco adecuado, pero la cantidad de CDs no defectuosos que han sido desechados se reduce considerablemente.
Caso 3. Límites de especificación a una distancia 3\(\sigma\) de la media
Seguiremos reduciendo la exigencia del análisis estableciendo una distancia a 3\(\sigma\) de la media:
# Límites de especificación a una distancia 3*sigma de la media
lsl= m-3*s
usl= m+3*s
# Análisis de capacidad
ss.study<-ss.study.ca(xST=datos,Target=mean(datos), LSL=lsl, USL= usl)
A una distancia 3 sigma y con un \(C_p\) igual a la unidad, podemos decir que el proceso es adecuado y que el número de productos no defectuosos desechados se reduce práticamente a ninguno. No obstante, debemos tener cuidado al disminuir la exigencia de no dar por bueno un número importante de CDs defectuosos.
Caso 4. Límites de especificación a una distancia 6\(\sigma\) de la media
Por último, a modo de comprobación, determinaremos una exigencia muy baja con unos límites a una distancia 6\(\sigma\) de la media.
# Límites de especificación a una distancia 6*sigma de la media
lsl= m-6*s
usl= m+6*s
# Análisis de capacidad
ss.study<-ss.study.ca(xST=datos,Target=mean(datos), LSL=lsl, USL= usl)
A una distancia 6 sigma, vemos que el \(C_p\) asciende a 2 y el análisis pasa a ser satisfactorio pero solo para nuevos procesos con una variable crítica. Además, se observan unos límites de especificación con una exigencia muy baja, lo que causará bastantes errores al dar por buenos algunos CDs que realmente son defectuosos.
El siguiente dataset (tiempos) está formado por 100 observaciones recogidas en 20 grupos. Cada observación mide el tiempo de reparación dentro de un grupo.
Este tiempo de arreglo mide la cantidad de horas que implica reparar varios tipos de motores, desde motocicletas de gran cilindrada, autómoviles e incluso motores de avión. Cada grupo es un tipo de motor. Son datos cuantitativos.
Del siguiente modo después de medir el proceso se va proceder a realizar el análisis de capacidad para ver la eficacia del mismo.
Se observa la variablidad de los datos relacionados con cada grupo. Hay distancias del valor más alto y el valor más bajo. No es la misma duración reparar un motor de una motocicleta que adentrarse en un motor de un vehículo de gran cilindrada.
summary(tiempos$time)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.420 4.515 5.125 5.033 5.530 6.610
Los grupos que presentan mayor variablidad son: grupo 5, grupo 12 y grupo 13 entre otros.
boxplot(tiempos$time ~ tiempos$group)
Para realizar el análisis de capacidad se ha considerado que durante el periodo a corto plazo se engloban los tres primeros grupos y en el largo plazo todos los datos. Estas capacidades calculadas nos permiten discriminar la capacidad actual observada de la capacidad potencial del proceso para llegar a las especificaciones definidas por el cliente o por las exigencias de las empresa para reducir los tiempos de reparación que conllevan costes. Mayores tiempos de reparación, mayores costes. Debe haber un equlibrio.
Se definen los datos que se usarán para el corto plazo, en este caso los relacionados con los grupos 1, 2 y 3. Por otra parte en el largo plazo emplazaremos los datos totales del proceso con un objetivo (target) que será la media global.
#Agrupamos 3 grupos, un grupo es una muestra de cada mes. Es un trimestre.
grupocorto <- tiempos[1:15,]
grupocorto
## # A tibble: 15 x 2
## time group
## <dbl> <dbl>
## 1 5.4 1
## 2 5.02 1
## 3 5.56 1
## 4 5.66 1
## 5 5.2 1
## 6 4.52 2
## 7 5.03 2
## 8 5.51 2
## 9 4.95 2
## 10 5.07 2
## 11 5.99 3
## 12 5.12 3
## 13 5.73 3
## 14 5.68 3
## 15 5.27 3
Usamos la media como parámetro para calcular si el proceso es capaz. Además de agrupar en una variable el dataframe de los datos en corto y en otra variable los datos totales.
#Descriptivos globales de todo el año
m <- mean(tiempos$time)
v <- var(tiempos$time)
s <- sd(tiempos$time)
#Conjunto largo plazo (3 trimestres y NO 4 trimestres)
datoscorto = grupocorto$time
datos = tiempos$time
La consigna para establecer los límites de espeficiación es la exigencia que le damos a nuestros tiempos para que se adapten a un rango específico.
Caso 1: límites de especificación menos exigentes.
El paramétro \(C_p\) nos indica que es satisfactorio para nuevos procesos con una variable crítica. El parámetro relacionado con el largo plazo \(P_p\) es igual a 1, por lo tanto límites de especificación son iguales a la variación del proceso. El proceso es capaz.
lsl = mean(grupocorto$time) - 3*s
usl = mean(grupocorto$time) + 3*s
#En xST pongo los datos del trimestre y en XLT los datos de TODO el año. Con Target global.
ss.study.ca(xST = datoscorto, xLT = datos, Target = m, LSL = lsl, USL = usl)
Caso2: límites de especificación con un nivel intermedio.
El paramétro \(C_p\) al ser mayor que 1.33 es satisfactorio para los procesos existentes. El parámetro relacionado con el largo plazo \(P_p\) es igual a 0.64, por lo tanto, los límites de especificación casi son iguales a la variación del proceso. El proceso no es capaz
lsl = mean(grupocorto$time) - 2*s
usl = mean(grupocorto$time) + 2*s
#En xST pongo los datos del trimestre y en XLT los datos de TODO el año. Con Target global.
ss.study.ca(xST = datoscorto, xLT = datos, Target = m, LSL = lsl, USL = usl)
Caso 3: límites de especifiación con un nivel de exigencia mayor.
El paramétro \(C_p\) al ser mayor que 1 y menor que 1.33 es adecuado para los procesos existentes. El parámetro relacionado con el largo plazo \(P_p\) es igual a 0.5, por lo tanto están fuera los datos de los límites de especificación y no son iguales a la variación del proceso. El proceso no es capaz
lsl = mean(grupocorto$time) - 1.5*s
usl = mean(grupocorto$time) + 1.5*s
#En xST pongo los datos del trimestre y en XLT los datos de TODO el año. Con Target global.
ss.study.ca(xST = datoscorto, xLT = datos, Target = m, LSL = lsl, USL = usl)
Ante las exigencias de la propia empresa y del cliente podemos evaluar el proceso si es capaz o no con los límites de especificación correctos. Con los parámetros del caso1 podremos indicar que el proceso es capaz y que sí alcanza el target obtenido.