Recursos

Recursos de apoyo y material complementario-plantillas de la unidad CONTROLAR (diapos etapa CONTROLAR, diapos CEP + apuntes).

Para repasar los conceptos básicos de la etapa CONTROL en Seis Sigma, practica con el siguiente juego de emparejamiento. Para repasar los conceptos básicos de Control estadístico de los Procesos (CEP), resuelve el siguiente juego de candados.

Para resolver la actividad a continuación con R utiliza, como soporte para los gráficos de control en R, la librería ggQC y consulta los ejemplos y viñetas que proporciona en rcontrolcharts.com. Otras librerías interesantes para trabajar el control de calidad en R son cep, qcc y qicharts2, que ofrecen diversas funcionalidades.

Usa las librerías habituales ggplot2, dplyr y gridExtra para cálculos y gráficos. Consulta los tutoriales de ggplot2 en STHDA.COM.

Los datos para trabajar el problema que se presenta a continuación se pueden descargar, en Datos.RData.

Contexto

Todo empezó en una reunión en la octava planta, en la que estaban el presidente, la vicepresidenta y …. alguien más, recién entrado en la empresa. Un nuevo fichaje de la vicepresidenta, estadística como tú, pretende ascender rápidamente en tu empresa. En ese camino tú eres un obstáculo importante, al ser el/la responsable del departamento de Estadística. Tu jefe, presionado por la vicepresidenta, ha decidido plantearos una serie de retos, aprovechando que estáis inmersos en la finalización de un proyecto de mejora. Habrás de demostrar tu valía para mantener tu puesto como jefe de proyectos en el área de estadística, y superar con éxito todos los retos. ¡ÁNIMO Y ADELANTE!

El problema

Estás en la última fase de un proyecto de mejora relativo a la calidad de ciertos tornillos que se fabrican en la empresa. En particular, una de las variables objetivo es la longitud del tornillo. El objetivo de calidad es fabricar tornillos de 5mm de longitud, con un rango de tolerancia de +/-0.05mm.

Reto 1: BD1

Tras la implantación del proyecto de mejora que has desarrollado junto con tu equipo, se tomó una primera muestra con 50 mediciones de tornillos. Descubre, mediante gráficos de control, si dicha muestra estaba bajo control (observaciones individuales) y/o tenía valores consecutivos inconsistentes (rangos). Ayuda: rcontrolcharts.com. Grafica bd1 para identificar variaciones en la longitud de los tornillos e inconsistencias entre tornillos consecutivos. Fíjate en el centro y límites para extraer conclusiones.

Después responde:

P1.1 La producción de tornillos medida en bd1 …

  1. Está fuera de control aunque centrada en 5.
  2. Hay datos anómalos y está centrada en 0.02, con límites de control en (0,0.06).
  3. Está bajo control centrada en el objetivo de producción y los límites de especificación coinciden con los de control.
INDV=ggplot(bd1,aes(x=fecha,y=tornillos))
XmR <- INDV + geom_point() + geom_line() +
       stat_QC(method = "XmR", auto.label = T, label.digits = 2) 
       
mR <- INDV +
     stat_QC(method = "mR", auto.label = T, label.digits = 2) +
     ylab("mR")

grid.arrange(XmR, mR, ncol=1)

Queremos confirmar a continuación, con los datos en bd1, la capacidad del proceso para cumplir las especificaciones de calidad. Grafica y calcula los índices Cp y Cpk de capacidad. Ayuda: tienes la sintaxis completa en rcontrolcharts.com). Responde después a la siguiente pregunta:

P1.2 La producción de tornillos …

  1. No cumple con los requisitos de calidad al producir Cp y Cpk<1.33.
  2. Cumple moderadamente con los requisitos de calidad, al producir Cp y Cpk>1.
  3. No cumple con los requisitos de calidad al resultar diferentes los índices Pp, Pp, Cp y Cpk.
target=5
lsl=target-0.05
usl=target+0.05
g1=ggplot(bd1,aes(x=tornillos))+geom_histogram(fill="blue",bins = 10)+
        stat_QC_Capability(LSL=lsl, USL=usl,method="XmR",show.cap.summary="") 
g2=ggplot(bd1,aes(x=tornillos))+geom_density()+
      stat_QC_Capability(LSL=lsl, USL=usl,show.cap.summary="all",cap.summary.size = 2.5, method="XmR") 
grid.arrange(g1,g2,ncol=1)

Conceptos clave: variación común y especial en variables continuas

Se habla de variación por causas comunes al ruido o variación aleatoria que está presente en todos los procesos, es causada por fenómenos que siempre están presentes en el sistema y hacen que el proceso sea predecible dentro de los límites.

Las causas especiales de variación, o variación no aleatoria, se presenta en algunos procesos causados por fenómenos que no son habituales en el sistema y provocan incertidumbre en la predicción.

Las reglas más comunes para la identificación de variaciones especiales son:

  • la regla de las 3sigmas de Shewart, que identifica todos los puntos a 3 desviaciones típicas de la media o valor central;

  • las reglas de Western Electric:

    1. al menos 1 punto fuera de los límites 3sigma
    2. al menos 2 puntos consecutivos más allá de los límites 2sigma
    3. al menos 4 puntos consecutivos más allá de los límites 1sigma
    4. al menos 8 puntos consecutivos a un lado de la línea central.

Reto2. BD2

Se ha recogido una segunda muestra de longitudes de tornillo (disponible en bd2) y se desea averiguar si hay variaciones fuera de lo normal o inconsistencias en la secuencia de mediciones de la longitud de los tornillos. Si hay variación especial, identificar de qué tipo es conforme a las reglas de Western Electric. Ayuda en rcontrolcharts.com. Responde después a la siguiente pregunta:

P2. ¿Qué tipos de variaciones especiales has encontrado en bd2?

  1. Violaciones de tipo 1sigma y 2sigmas.
  2. Violaciones de tipo 2sigmas y 3sigmas.
  3. Violaciones de los cuatro tipos contemplados por Western Electric.
# Graficamos en busca de irregularidades
XmR.violations1 <- 
         ggplot(bd2,
                aes(x=fecha,y=tornillos, group = 1)) +
         stat_qc_violations(method = "XmR",
                            violation_point.color="red",
                            point.size=0.5,
                            line.color="grey",show.facets=c(1:2)) +
         theme(axis.text.x = element_text(angle = 45, vjust=0.2,size=6)) 
   
XmR.violations2 <- 
         ggplot(bd2,
                aes(x=fecha,y=tornillos, group = 1)) +
         stat_qc_violations(method = "XmR",
                             point.size=0.5,
                            violation_point.color="red",
                            line.color="grey",show.facets=c(3:4)) +
         theme(axis.text.x = element_text(angle = 45,  vjust=0.5,size=6))     

grid.arrange(XmR.violations1,XmR.violations2,ncol=1)

Reto 3. BD3

Tu contrincante, muy sutilmente le propuso a la vicepresidenta probar tres aleaciones diferentes en el proceso de fabricación sin comentarte nada. Te pasan a continuación los muestreos bajo estos tres procesos de producción (em bd3), para ver si identificas TU PROPUESTA. Estudia si hay variaciones sistemáticas en cada uno de estos tres procesos y si se mantienen o no bajo control. Ayuda en rcontrolcharts.com. Responde después a la siguiente pregunta:

P3. A la hora de recomendar una aleación, hemos descubierto que …

  1. La aleación 2 genera datos fuera de control, al variar en media y desviación típica de los requisitos de calidad.
  2. La aleación 1 genera datos bajo control y además satisface los requisitos de calidad.
  3. La aleación 3 genera datos fuera de control, centrados en su media pero con excesiva variabilidad respecto a los requisitos de calidad.
INDV <- ggplot(bd3, aes(x=fecha, y = tornillos)) 
XmR <- INDV + geom_point() + geom_line() +
     ylab("XmR") +xlab("")+
       stat_QC(method = "XmR", auto.label = T, label.digits = 2) +
       facet_grid(.~proceso) +
   theme(axis.text.x = element_text(angle = 45, vjust=0.05,size=7))
#       scale_x_continuous(expand =  expand_scale(mult = .15))  # Pad the x-axis
mR <- INDV +
      stat_QC(method = "mR", auto.label = T, label.digits = 2) +
      ylab("mR") +xlab("")+
      facet_grid(.~proceso) +
   theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust=0.5,size=7))
#       scale_x_continuous(expand =  expand_scale(mult = .15))  # Pad the x-axis

grid.arrange(XmR, mR, ncol=1)

Reto 4. BD4

Con el fin de testar 3 moldes hechos con distinto material, se han fabricado tornillos con los tres y muestreado en semanas consecutivas, a razón de 3 mediciones por semana para cada molde (disponibles en bd4). Queremos elegir el mejor molde respecto de estabilidad y cumplimiento de los objetivos de calidad. Ayuda en rcontrolcharts.com. Responde después a la siguiente pregunta:

P4. ¿Qué molde recomendarías utilizar a la empresa?

  1. M3 por estar bajo control, a menos de 0,05mm de la media y con muy poca variabilidad.
  2. M1 por estar centrado en el objetivo y prácticamente dentro de los límites de especificación, aunque tiene algunos valores fuera de control y sería preciso intentar reajustar el proceso.
  3. M2 por estar centrado en el objetivo y presentar menos valores fuera de control que M1.
#Se superponen todos los puntos para visualizarlos mejor, interpolando en negro la media (por día) de todos los datos.
XbarR <- ggplot(bd4, aes(x =fecha, y = tornillos, group = 1, color=molde)) + 
         stat_summary(fun.y = mean, geom = "point") +
         stat_summary(fun.y = mean, geom = "line") +
         stat_QC() + stat_QC_labels() +
         # Show Individuals  
         geom_point(alpha= 1/2,size=1) +
         stat_QC(n=1, color.qc_limits = "orange") + 
         stat_QC_labels(n=1, color.qc_limits = "orange")   
## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.
XbarR

#Y diferenciamos por molde para apreciar mejor las diferencias, interpolando en negro los valores medios por día (tanda) y molde.
XmR <- ggplot(bd4, aes(x =fecha, y = tornillos, group =1, color=molde)) + 
  geom_point(size=0.5) + geom_line() +
   stat_summary(fun.y = mean, geom = "point",color="black") +
         stat_summary(fun.y = mean, geom = "line",color="black") +       
           stat_QC(method="XmR") + stat_QC_labels(method="XmR",digits=2) +
         facet_grid(.~molde)+
         theme(axis.text.x = element_text(angle = 45, vjust=1,size=7))
## Warning: `fun.y` is deprecated. Use `fun` instead.

## Warning: `fun.y` is deprecated. Use `fun` instead.
XmR

Reto 5. BD5

Ahora, en lugar de las longitudes de los tornillos, se anota cuántos tornillos son defectuosos en una caja de 100 unidades (disponibles en bd5). Se muestrean 30 cajas de tornillos hechos con dos moldes diferentes. Nos interesa identificar el mejor molde en función del estudio de control del número y la proporción de tornillos defectuosos. Ayuda sobre gráficos de control para variables cualitativas en rcontrolcharts.com. Utiliza los gráficos n y p. Después responde a la siguiente pregunta:

P5. ¿Qué molde recomiendas en base al número y la proporción de tornillos defectuosos?

  1. El molde 2 por generar mayor proporción de tornillos conformes.
  2. El molde 1 por estar bajo control y generar menos tornillos defectuosos.
  3. El molde 2 por estar entre los límites de control y no ser el caso del molde 1, pues muchos valores “pisan” la línea de control inferior.
#Basic n chart + facetting
ggplot(data = bd5, aes(id,  Num_tornillos_def )) +
  geom_point(aes(color=molde)) + geom_line(aes(color=molde)) + 
  stat_QC(method = "np", n=100, auto.label = T, label.digits = 2)+
  scale_color_manual(values=c("#38A3E1", "#BBD032"))+
  facet_wrap(.~molde)+
  ylab("Num.tornillos defectuosos")

#basic p-chart + facetting
ggplot(data =bd5, aes(id, y=p,n=100)) +
  geom_point(aes(color=molde),size=1) + geom_line(aes(color=molde)) + 
  stat_QC(method = "p", auto.label = T, label.digits = 2)+ 
  scale_color_manual(values=c("#38A3E1", "#BBD032"))+
  facet_wrap(.~molde)+
  ylab("Prop.tornillos defectuosos")