1 Ejemplo Diseño factorial \(2^4\)

En una empresa de electrónica, una máquina toma componentes que le proporciona un alimentador para montarlos o depo sitarlos en una tarjeta. Se ha tenido el problema de que la máquina falla en sus intentos por tomar el componente, lo cual causa paros de la máquina que detienen el proceso hasta que el operador se da cuenta y reinicia el proceso. Para diagnosticar mejor la situación, se decide correr un diseño de experimentos \(24\) con \(n = 2\) réplicas, en el que se tienen los siguientes facto res y niveles \((–, +)\), respectivamente: A) Velocidad de cam \((70%, 100%)\), B) Velocidad de mesa (media, alta), C) Orden o secuencia de colocación (continua, variable), D) Alimentador \((1, 2)\). Como el pro ceso es muy rápido, es necesario dejarlo operar en cada condición experimental el tiempo sufi ciente para reproducir el problema. Se consideró que esto se lograba con sufi ciente confi anza con 500 com ponentes; por ello, cada una de las corridas experimentales consis tió en colocar 500 componentes, y se midieron dos variables de res puesta: \(Y1\) = número de errores (o intentos fallidos), y \(Y2\) = tiempo real (en segundos) para tomar y “colocar” los 500 componentes. Es evidente que se quieren minimizar ambas variables. Los datos obte nidos se muestran en la siguiente tabla.(Pulido & Vara Salazar, 2012)

Replica 1 Replica 2
Factor A Factor B Factor C Factor D y1 y2 y3 y4
-1 -1 -1 -1 61 88 50 79
+1 -1 -1 -1 105 78 98 74
-1 +1 -1 -1 61 82 40 82
+1 +1 -1 -1 104 73 145 79
-1 -1 +1 -1 0 88 35 100
+1 -1 +1 -1 35 84 22 82
-1 +1 +1 -1 50 89 37 88
+1 +1 +1 -1 57 79 71 81
-1 -1 -1 +1 12 77 19 75
+1 -1 -1 +1 60 66 57 64
-1 +1 -1 +1 9 84 19 73
+1 +1 -1 +1 72 93 61 66
-1 -1 +1 +1 0 86 0 82
+1 -1 +1 +1 10 76 1 77
-1 +1 +1 +1 3 84 7 86
+1 +1 +1 +1 15 75 15 73
  1. Al observar los datos obtenidos, se deduce que hay algunos tratamientos que tienen pocos o ningún componente caídos, como por ejemplo el (–1, –1, +1, +1); alguien muy “práctico” decidiría poner la máquina a operar bajo estas condiciones y olvidarse del análisis estadístico. De proceder así, explique qué información se perdería.

  2. Investigue qué efectos infl uyen de manera significativa sobre Y1 (apóyese en Pareto y ANOVA).

  3. Obtenga el mejor ANOVA.

  4. Si en el análisis anterior encuentra alguna interacción significativa, analice con detalle la más importante e interprete en términos físicos.

  5. ¿Qué tratamiento minimiza Y1?

  6. Ahora investigue qué efectos influyen de manera relevante sobre Y2.

  7. ¿Qué tratamiento minimiza Y2?

  8. Encuentre una condición satisfactoria tanto para minimizar Y1 como Y2.

  9. De los análisis de varianza para Y1 y Y2 observe el coefi ciente R2. ¿Qué concluye de ello?

  10. Verifique residuos.

1.1 Desarrollo Del Ejercicio

library(printr)  
library(FrF2) 

datos=read.table("dataset.txt",header = TRUE)

str(datos)
## 'data.frame':    32 obs. of  6 variables:
##  $ Factor_A: int  -1 1 -1 1 -1 1 -1 1 -1 1 ...
##  $ Factor_B: int  -1 -1 1 1 -1 -1 1 1 -1 -1 ...
##  $ Factor_C: int  -1 -1 -1 -1 1 1 1 1 -1 -1 ...
##  $ Factor_D: int  -1 -1 -1 -1 -1 -1 -1 -1 1 1 ...
##  $ Y1      : int  61 105 61 104 0 35 50 57 12 60 ...
##  $ Y2      : int  88 78 82 73 88 84 89 79 77 66 ...
attach(datos)

head(datos, n=32L)
Factor_A Factor_B Factor_C Factor_D Y1 Y2
-1 -1 -1 -1 61 88
1 -1 -1 -1 105 78
-1 1 -1 -1 61 82
1 1 -1 -1 104 73
-1 -1 1 -1 0 88
1 -1 1 -1 35 84
-1 1 1 -1 50 89
1 1 1 -1 57 79
-1 -1 -1 1 12 77
1 -1 -1 1 60 66
-1 1 -1 1 9 84
1 1 -1 1 72 93
-1 -1 1 1 0 86
1 -1 1 1 10 76
-1 1 1 1 3 84
1 1 1 1 15 75
-1 -1 -1 -1 50 79
1 -1 -1 -1 98 74
-1 1 -1 -1 40 82
1 1 -1 -1 145 79
-1 -1 1 -1 35 100
1 -1 1 -1 22 82
-1 1 1 -1 37 88
1 1 1 -1 71 81
-1 -1 -1 1 19 75
1 -1 -1 1 57 64
-1 1 -1 1 19 73
1 1 -1 1 61 66
-1 -1 1 1 0 82
1 -1 1 1 1 77
-1 1 1 1 7 86
1 1 1 1 15 73
1.1.0.0.1 a) Al observar los datos obtenidos, se deduce que hay algunos tratamientos que tienen pocos o ningún componente caídos, como por ejemplo el (–1, –1, +1, +1); alguien muy “práctico” decidiría poner la máquina a operar bajo estas condiciones y olvidarse del análisis estadístico. De proceder así, explique qué información se perdería.

Parte de la información que se perdería es encontrar un mejor método con base a las corridas distintas por lo que no habría un margen de error que nos ayude a determinar que variables influyen en elproceso, como en el (–1, –1, +1, +1) tenemos 0 errores con un tiempo estimado pero en otras corridas se podría encontrar un mejor resultado con pocos errores pero con mejor tiempo de trabajo.

1.1.0.0.2 b) Investigue qué efectos influyen de manera significativa sobre Y1 (apóyese en Pareto y ANOVA).
modelo=aov(Y1~(Factor_A*Factor_B*Factor_C*Factor_D))
summary(modelo)
##                                     Df Sum Sq Mean Sq F value   Pr(>F)    
## Factor_A                             1   8613    8613  62.260 6.63e-07 ***
## Factor_B                             1   1263    1263   9.126 0.008117 ** 
## Factor_C                             1  11820   11820  85.436 8.12e-08 ***
## Factor_D                             1  11666   11666  84.328 8.87e-08 ***
## Factor_A:Factor_B                    1    332     332   2.396 0.141163    
## Factor_A:Factor_C                    1   3549    3549  25.654 0.000115 ***
## Factor_B:Factor_C                    1    332     332   2.396 0.141163    
## Factor_A:Factor_D                    1    205     205   1.482 0.241106    
## Factor_B:Factor_D                    1    428     428   3.092 0.097779 .  
## Factor_C:Factor_D                    1    306     306   2.214 0.156214    
## Factor_A:Factor_B:Factor_C           1     69      69   0.499 0.490107    
## Factor_A:Factor_B:Factor_D           1     69      69   0.499 0.490107    
## Factor_A:Factor_C:Factor_D           1      9       9   0.065 0.801591    
## Factor_B:Factor_C:Factor_D           1    158     158   1.139 0.301766    
## Factor_A:Factor_B:Factor_C:Factor_D  1     23      23   0.165 0.690267    
## Residuals                           16   2213     138                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se puede observar que los 4 factores influyen, estos efectos significativos son: \(A, B, C, D, AC\)

modelo1=aov(Y1~(Factor_B+Factor_D+Factor_A*Factor_C))
1.1.0.0.3 c) Obtenga el mejor ANOVA.
anova=aov(modelo1) 
summary(anova)
##                   Df Sum Sq Mean Sq F value   Pr(>F)    
## Factor_B           1   1263    1263   7.923  0.00918 ** 
## Factor_D           1  11666   11666  73.212 4.90e-09 ***
## Factor_A           1   8613    8613  54.053 8.30e-08 ***
## Factor_C           1  11820   11820  74.174 4.32e-09 ***
## Factor_A:Factor_C  1   3549    3549  22.272 7.05e-05 ***
## Residuals         26   4143     159                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Esta tabla muestra que el alimentador y el orden de colocación son menores que el valor de significancia α= 0.05, por lo cual estos factores influyen significativamente en la variable de respuesta de estudio que en este caso es el número de errores en la máquina.

1.1.0.0.4 d) Si en el análisis anterior encuentra alguna interacción significativa, analice con detalle la más importante e interprete en términos físicos.
library(FrF2)
experimento = FrF2(nruns = 16, nfactors = 4, factor.names = list(Factor_A=c(-1,1), Factor_B=c(-1,1),       Factor_C=c(-1,1), Factor_D=c(-1,1) ),replications = 2,randomize = FALSE)  
experimento_respuesta=add.response(design=experimento,response = Y1)  
grafica_efectos_principales=MEPlot(experimento_respuesta, main= "Gráfica de Efectos Individuales")

Observamos que la única interacciónsignificativa que hay es AC. Posteriormente, vemos en la gráfica de interacciones que los niveles óptimos para minimizar la variable de respuesta del número de errores serán nivel ALTO de A y nivel BAJO de C.

1.1.0.0.5 e) ¿Qué tratamiento minimiza Y1?

Para minimizar el número de errores de debe trabajar la velocidad de cam en nivel bajo, la velocidad de mesa en nivel bajo, el orden en nivel alto y el alimentador en nivel alto.

1.1.0.0.6 f) Ahora investigue qué efectos influyen de manera relevante sobre Y2.
modelo=aov(Y2~(Factor_A*Factor_B*Factor_C*Factor_D))
summary(modelo)
##                                     Df Sum Sq Mean Sq F value  Pr(>F)   
## Factor_A                             1  472.8   472.8  12.942 0.00241 **
## Factor_B                             1    3.8     3.8   0.104 0.75183   
## Factor_C                             1  294.0   294.0   8.049 0.01190 * 
## Factor_D                             1  247.5   247.5   6.776 0.01922 * 
## Factor_A:Factor_B                    1   19.5    19.5   0.535 0.47523   
## Factor_A:Factor_C                    1   26.3    26.3   0.719 0.40885   
## Factor_B:Factor_C                    1   81.3    81.3   2.225 0.15525   
## Factor_A:Factor_D                    1    2.5     2.5   0.069 0.79573   
## Factor_B:Factor_D                    1   81.3    81.3   2.225 0.15525   
## Factor_C:Factor_D                    1    7.0     7.0   0.192 0.66673   
## Factor_A:Factor_B:Factor_C           1   26.3    26.3   0.719 0.40885   
## Factor_A:Factor_B:Factor_D           1    2.5     2.5   0.069 0.79573   
## Factor_A:Factor_C:Factor_D           1    0.8     0.8   0.021 0.88556   
## Factor_B:Factor_C:Factor_D           1   16.5    16.5   0.453 0.51074   
## Factor_A:Factor_B:Factor_C:Factor_D  1   34.0    34.0   0.932 0.34882   
## Residuals                           16  584.5    36.5                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Esta tabla muestra que el para el alimentador es menor que el valor de significancia α= 0.05, por lo cual este factor influyen significativamente en la variable de respuesta de estudio que en este caso es el tiempo real.

1.1.0.0.7 g) ¿Qué tratamiento minimiza Y2?
library(FrF2)
experimento = FrF2(nruns = 16, nfactors = 4, factor.names = list(Factor_A=c(-1,1), Factor_B=c(-1,1),       Factor_C=c(-1,1), Factor_D=c(-1,1) ),replications = 2,randomize = FALSE)  
experimento_respuesta=add.response(design=experimento,response = Y2)  
grafica_efectos_principales=MEPlot(experimento_respuesta, main= "Gráfica de Efectos Individuales")

Para minimizar el número de errores de debe trabajar la velocidad de cam en nivel alto, la velocidad de mesa en nivel bajo, el orden en nivel alto y el alimentador en nivel alto.

1.1.0.0.8 h) Encuentre una condición satisfactoria tanto para minimizar Y1 como Y2.

No es posible encontrar una condición satisfactoria para minimizar ambas variables.

1.1.0.0.9 i) De los análisis de varianza para Y1 y Y2 observe el coeficiente R2. ¿Qué concluye de ello?
#Y1
R=((8613+1263+11820+11666+3549+428)/(8613+1263+11820+11666+3549+428+138)*100)
summary(R)
Min. 1st Qu. Median Mean 3rd Qu. Max.
99.63177 99.63177 99.63177 99.63177 99.63177 99.63177
#Y2
R=((472.8+294+247.5)/(472.8+294+247.5+36.5)*100)
summary(R)
Min. 1st Qu. Median Mean 3rd Qu. Max.
96.52646 96.52646 96.52646 96.52646 96.52646 96.52646

El valor \(R^2\) muestra el porcentaje de variación de la variable de respuesta respecto a la relación con otras variables que en este caso serían los factores, como se observa la variable número de errores posee mayor variación, esto quiere decirque cualquier cambio en los factores influye de mayor manera en ella que en el tiempo real.

1.1.0.0.10 j) Verifique residuos.

Ho: Los datos provienen de una distribución normal

Ha: Los datos no provienen de una distribución normal

normalidad=shapiro.test(resid(modelo))  
print(normalidad) 
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(modelo)
## W = 0.8854, p-value = 0.002686

Debido a que Valor-P es menor a α= 0,05 se rechaza la hipótesis nula y asumimos que no cumple el supuesto de normalidad.

qqnorm(resid(modelo),main= "Grafica de probabilidad para los residuales del modelo", xlab= "Cuantiles teoricos", ylab = "Cuantiles de muestra")
qqline(resid(modelo))

Bibliografía

Pulido, H. G., & Vara Salazar, R. de la. (2012). Analisis y diseño de Experimentos (3.ª ed.). McGraw Hill.