Se elige unas condiciones de tiro a la catapulta virtual concretas. Cada uno de los miembros del equipo ha de REALIZAR Y REGISTRAR 5 lanzamientos bajo dichas 3 configuraciones(185, 135, 270, 200, 200)(185, 120, 300,200,200)(185,113,300,169,185). Una vez registrados los datos se realiza el análisis Gage R&R por equipos.
Identifiquemos primero los elementos. El objetivo del proceso de medición en este caso es poder discriminar entre las 3 configuraciones (ELEMENTOS), que son los elementos (parts) a discriminar. Cada estudiante (OPERARO) hace el papel de operador/aparato que realiza la medida (appraisal). Las mediciones (var) están contenidas en la variable DISTANCIA. La librería SixSigma nos proporciona el análisis Gage R & R íntegro, incluida la tabla de ANOVA y la descomposición Gage de la varianza.
Lectura de datos:
library(SixSigma)
datos=read.csv2("lanzamientos-descarga.csv", sep=",")
head(datos)
## Marca.temporal EQUIPO CONDICIONES.DE.TIRO..RELEASE.ANGLE
## 1 23/10/2020 9:40:46 GRUPO ALA 185
## 2 23/10/2020 9:41:46 GRUPO ALA 185
## 3 23/10/2020 9:42:39 GRUPO ALA 185
## 4 23/10/2020 9:43:16 GRUPO ALA 185
## 5 23/10/2020 9:43:57 GRUPO ALA 185
## 6 23/10/2020 9:45:21 GRUPO ALA 185
## CONDICIONES.DE.TIRO..FIRING.ANGLE CONDICIONES.DE.TIRO..CUP.ELEVATION
## 1 135 270
## 2 135 270
## 3 135 270
## 4 135 270
## 5 135 270
## 6 120 300
## CONDICIONES.DE.TIRO..PIN.ELEVATION CONDICIONES.DE.TIRO..BUNGEE.POSITION
## 1 200 200
## 2 200 200
## 3 200 200
## 4 200 200
## 5 200 200
## 6 200 200
## OPERARIO DISTANCIA TIRO ELEMENTO elegida
## 1 alberto.sancho@goumh.umh.es 441 1 1.851353e+14 si
## 2 alberto.sancho@goumh.umh.es 440 2 1.851353e+14 si
## 3 alberto.sancho@goumh.umh.es 432 3 1.851353e+14 si
## 4 alberto.sancho@goumh.umh.es 422 4 1.851353e+14 si
## 5 alberto.sancho@goumh.umh.es 445 5 1.851353e+14 si
## 6 alberto.sancho@goumh.umh.es 634 1 1.851203e+14 si
attach(datos)
str(datos)
## 'data.frame': 345 obs. of 12 variables:
## $ Marca.temporal : Factor w/ 318 levels "20/10/2020 10:06:11",..: 125 136 151 161 175 204 222 235 245 258 ...
## $ EQUIPO : Factor w/ 8 levels "CAC","DATA GHOSTS",..: 6 6 6 6 6 6 6 6 6 6 ...
## $ CONDICIONES.DE.TIRO..RELEASE.ANGLE : int 185 185 185 185 185 185 185 185 185 185 ...
## $ CONDICIONES.DE.TIRO..FIRING.ANGLE : int 135 135 135 135 135 120 120 120 120 120 ...
## $ CONDICIONES.DE.TIRO..CUP.ELEVATION : int 270 270 270 270 270 300 300 300 300 300 ...
## $ CONDICIONES.DE.TIRO..PIN.ELEVATION : int 200 200 200 200 200 200 200 200 200 200 ...
## $ CONDICIONES.DE.TIRO..BUNGEE.POSITION: int 200 200 200 200 200 200 200 200 200 200 ...
## $ OPERARIO : Factor w/ 23 levels "alberto.sancho@goumh.umh.es",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ DISTANCIA : num 441 440 432 422 445 634 640 640 637 638 ...
## $ TIRO : int 1 2 3 4 5 1 2 3 4 5 ...
## $ ELEMENTO : num 1.85e+14 1.85e+14 1.85e+14 1.85e+14 1.85e+14 ...
## $ elegida : Factor w/ 2 levels "","si": 2 2 2 2 2 2 2 2 2 2 ...
CATAPULTA =as.data.frame(datos)
head(CATAPULTA)
## Marca.temporal EQUIPO CONDICIONES.DE.TIRO..RELEASE.ANGLE
## 1 23/10/2020 9:40:46 GRUPO ALA 185
## 2 23/10/2020 9:41:46 GRUPO ALA 185
## 3 23/10/2020 9:42:39 GRUPO ALA 185
## 4 23/10/2020 9:43:16 GRUPO ALA 185
## 5 23/10/2020 9:43:57 GRUPO ALA 185
## 6 23/10/2020 9:45:21 GRUPO ALA 185
## CONDICIONES.DE.TIRO..FIRING.ANGLE CONDICIONES.DE.TIRO..CUP.ELEVATION
## 1 135 270
## 2 135 270
## 3 135 270
## 4 135 270
## 5 135 270
## 6 120 300
## CONDICIONES.DE.TIRO..PIN.ELEVATION CONDICIONES.DE.TIRO..BUNGEE.POSITION
## 1 200 200
## 2 200 200
## 3 200 200
## 4 200 200
## 5 200 200
## 6 200 200
## OPERARIO DISTANCIA TIRO ELEMENTO elegida
## 1 alberto.sancho@goumh.umh.es 441 1 1.851353e+14 si
## 2 alberto.sancho@goumh.umh.es 440 2 1.851353e+14 si
## 3 alberto.sancho@goumh.umh.es 432 3 1.851353e+14 si
## 4 alberto.sancho@goumh.umh.es 422 4 1.851353e+14 si
## 5 alberto.sancho@goumh.umh.es 445 5 1.851353e+14 si
## 6 alberto.sancho@goumh.umh.es 634 1 1.851203e+14 si
str(CATAPULTA)
## 'data.frame': 345 obs. of 12 variables:
## $ Marca.temporal : Factor w/ 318 levels "20/10/2020 10:06:11",..: 125 136 151 161 175 204 222 235 245 258 ...
## $ EQUIPO : Factor w/ 8 levels "CAC","DATA GHOSTS",..: 6 6 6 6 6 6 6 6 6 6 ...
## $ CONDICIONES.DE.TIRO..RELEASE.ANGLE : int 185 185 185 185 185 185 185 185 185 185 ...
## $ CONDICIONES.DE.TIRO..FIRING.ANGLE : int 135 135 135 135 135 120 120 120 120 120 ...
## $ CONDICIONES.DE.TIRO..CUP.ELEVATION : int 270 270 270 270 270 300 300 300 300 300 ...
## $ CONDICIONES.DE.TIRO..PIN.ELEVATION : int 200 200 200 200 200 200 200 200 200 200 ...
## $ CONDICIONES.DE.TIRO..BUNGEE.POSITION: int 200 200 200 200 200 200 200 200 200 200 ...
## $ OPERARIO : Factor w/ 23 levels "alberto.sancho@goumh.umh.es",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ DISTANCIA : num 441 440 432 422 445 634 640 640 637 638 ...
## $ TIRO : int 1 2 3 4 5 1 2 3 4 5 ...
## $ ELEMENTO : num 1.85e+14 1.85e+14 1.85e+14 1.85e+14 1.85e+14 ...
## $ elegida : Factor w/ 2 levels "","si": 2 2 2 2 2 2 2 2 2 2 ...
Necesitamos que la variable ELEMENTO y OPERARIO sean cualitativas para poder llevar a cabo el análisis.
CATAPULTA$ELEMENTO=as.factor(CATAPULTA$ELEMENTO)
CATAPULTA$OPERARIO=as.factor(CATAPULTA$OPERARIO)
str(CATAPULTA)
## 'data.frame': 345 obs. of 12 variables:
## $ Marca.temporal : Factor w/ 318 levels "20/10/2020 10:06:11",..: 125 136 151 161 175 204 222 235 245 258 ...
## $ EQUIPO : Factor w/ 8 levels "CAC","DATA GHOSTS",..: 6 6 6 6 6 6 6 6 6 6 ...
## $ CONDICIONES.DE.TIRO..RELEASE.ANGLE : int 185 185 185 185 185 185 185 185 185 185 ...
## $ CONDICIONES.DE.TIRO..FIRING.ANGLE : int 135 135 135 135 135 120 120 120 120 120 ...
## $ CONDICIONES.DE.TIRO..CUP.ELEVATION : int 270 270 270 270 270 300 300 300 300 300 ...
## $ CONDICIONES.DE.TIRO..PIN.ELEVATION : int 200 200 200 200 200 200 200 200 200 200 ...
## $ CONDICIONES.DE.TIRO..BUNGEE.POSITION: int 200 200 200 200 200 200 200 200 200 200 ...
## $ OPERARIO : Factor w/ 23 levels "alberto.sancho@goumh.umh.es",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ DISTANCIA : num 441 440 432 422 445 634 640 640 637 638 ...
## $ TIRO : int 1 2 3 4 5 1 2 3 4 5 ...
## $ ELEMENTO : Factor w/ 3 levels "185113300169185",..: 3 3 3 3 3 2 2 2 2 2 ...
## $ elegida : Factor w/ 2 levels "","si": 2 2 2 2 2 2 2 2 2 2 ...
# ss.rr(var, part, appr, data, main, sub)
my.rr <- ss.rr(var = DISTANCIA, part = ELEMENTO,
appr =OPERARIO,
data = CATAPULTA,
main = "Six Sigma Gage R&R Measure",
sub = "CATAPULTA Project MSA")
## Complete model (with interaction):
##
## Df Sum Sq Mean Sq F value Pr(>F)
## ELEMENTO 2 2457310 1228655 211.882 <2e-16
## OPERARIO 22 115212 5237 0.903 0.591
## ELEMENTO:OPERARIO 44 255146 5799 7.723 <2e-16
## Repeatability 276 207241 751
## Total 344 3034910
##
## alpha for removing interaction: 0.05
##
## Gage R&R
##
## VarComp %Contrib
## Total Gage R&R 1760.4541 14.20
## Repeatability 750.8729 6.06
## Reproducibility 1009.5812 8.15
## OPERARIO 0.0000 0.00
## ELEMENTO:OPERARIO 1009.5812 8.15
## Part-To-Part 10633.5344 85.80
## Total Variation 12393.9884 100.00
##
## StdDev StudyVar %StudyVar
## Total Gage R&R 41.95777 251.7466 37.69
## Repeatability 27.40206 164.4124 24.61
## Reproducibility 31.77391 190.6434 28.54
## OPERARIO 0.00000 0.0000 0.00
## ELEMENTO:OPERARIO 31.77391 190.6434 28.54
## Part-To-Part 103.11903 618.7142 92.63
## Total Variation 111.32829 667.9697 100.00
##
## Number of Distinct Categories = 3
En el gráfico de Components of variationqueda patente lo anteriormente concluido a partir de la tabla de contribuciones a la varianza: la escasa fiabilidad del sistema de medida, con varianzas Gage sumamente bajas, especialmente en la componente de repetibilidad, reproducibilidad.
Var By Part (DISTANCIA by ELEMENTO).
Las mediciones de los elementos presentan diferentes variabilidades. En la tercera configuración podemos observar que existe mayor variabilidad al estar los puntos dispersos entre sí.
Hay diferencias claras entre los elementos, al presentar líneas de tendencia oblicuas entre las medias.
Var By Appraiser (DISTANCIA by OPERARIO).
Existen 4 operarios que intervienen dando una mayor variabilidad al estudio.
Part x Appraiser Interaction.
Podemos observar de manera clara que en cada una de las 3 configuraciones se han obtenido resultados de distancias distintas. Se ve además que en la tercera configuración es donde más variabilidad hay, entre los resultados de distancia que se han ido obteniendo.
R Chart by OPERARIO:
Podemos observar como varios operarios producen mucha más variabilidad que otros ya que sus elementos son mucho más altos que el promedio de los rangos. Por tanto, nos planteamos un problema de baja repetibilidad provocado por algún operario que pueda tener algún fallo. También se puede observar claramente que en la tercera configuración es donde más se supera el promedio de rango.
xbar Chart by OPERARIO:
Para la medición de elementos, podemos ver que muchos operarios siguen el mismo método, pero también muchos otros operarios se destacan a través de métodos completamente diferentes, por lo que tendremos un problema de repetibilidad. Se puede observar que los puntos de diferentes elementos de un mismo operario son muy distintos (existe una gran variación del elemento 1 al elemento 3), y existe variabilidad entre elementos de manera general
Finalmente el sistema de medida tiene serios problemas de fiabilidad provocados principalmente por algunos operarios. Sería preciso que cada operario volviera a repetir sus medidas con los tres elementos. En caso de realizar un nuevo análisis del sistema de medida, podremos proceder a utilizar los datos para posteriormente evaluar la variabilidad procedente del proceso en sí, para con ello poder resolver el problema y poder reducir la variabilidad.