1 Ejercicio

En una empresa de electrónica, una máquina toma componentes que le proporciona un alimentador para montarlos o depositarlos 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 factores y niveles (–, +), respectivamente:

  1. Velocidad de cam (70%, 100%),
  2. Velocidad de mesa (media, alta),
  3. Orden o secuencia de colocación (continua, variable),
  4. Alimentador (1, 2).

Como el proceso es muy rápido, es necesario dejarlo operar en cada condición experimental el tiempo suficiente para reproducir el problema. Se consideró que esto se lograba con suficiente confianza con 500 componentes; por ello, cada una de las corridas experimentales consistió en colocar 500 componentes, y se midieron dos variables de respuesta: 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 obtenidos se muestran en la siguiente tabla(Pulido & Vara Salazar, 2012).

Replica 1 Replica 2
Factor A Factor B Factor C Factor D Y1 Y2 Y1 Y2
-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.1 Solución del ejercicio

 library(printr)
## Registered S3 method overwritten by 'printr':
##   method                from     
##   knit_print.data.frame rmarkdown
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
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

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 ol vidarse del análisis estadístico. De proceder así, explique qué información se perdería.

Respuesta: Se estaría ignorando el tiempo en tomar o colocar los componentes en donde no da tan buen desempeño en esos tratamientos

De proceder de esta manera 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 el proceso, 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.

b) Investigue qué efectos influyen de manera significativa sobre Y1

Respuesta:

Los efectos que influyen mas significativamente son: a,b,c,d,ac.

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

c) Se obtiene el mejor ANOVA

Respuesta:

El mejor anova es el de interacción 2.

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

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.

Respuesta:

Como se oberva la grafica de interacciones 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.

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= "Grafica de efectos individuales")

grafica_interacciones=IAPlot(experimento_respuesta, main= "Gráfica de interacciones")

e) ¿Qué tratamiento minimiza Y1?

Respuesta:

Ya que los cuatro factores A, B, C, D son significativos para la variable de respuesta, es necesario trabajar con los niveles de estos.Por lo que para el factor A y B se trabajara con niveles altos, mientras que C y D con niveles bajos

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

Respuesta:

Podemos observar que los factores A, C y D son significativos. De estos, el que tiene mayor nivel de significancia es el factor A.

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

g) ¿Qué tratamiento minimiza Y2?

Respuesta:

Con el objetivo de minimizar la segunda variable de respuesta se observa que el factor A debe tener nivel ALTO, dado que el factor B no es significativo no se tendrá en cuenta, factor C se trabajará con nivel BAJO y finalmente el factor D con nivel ALTO.

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)  
## creating full factorial with 16 runs ...
experimento_respuesta=add.response(design=experimento,response = Y2)  


grafica_efectos_principales=MEPlot(experimento_respuesta, main= "Gráfica de Efectos Individuales")

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

Respuesta:

Dado que ambas configuraciones necesitan del factor D a nivel ALTO, podemos concluir entonces que este es su condición satisfactoria la cual se necesita para minimizar tanto Y1 como Y2.

i) De los análisis de varianza para Y1 y Y2 observe el coeficiente R2. ¿Qué concluye de ello?

Respuesta: Podemos concluir dado que, Y1 posee un R2 de 99% que los datos de este modelo se ajustan mejor, por ende, tiene un mejor modelo.

Coeficiente 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

Coeficiente 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

j) Verifique residuos.

normalidad=shapiro.test(resid(modelo))  
print(normalidad) 
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(modelo)
## W = 0.8854, p-value = 0.002686
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.