1 Diseño Factorial \(2^4\)

1.1 Ejercicio 9

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 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 proceso 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 componentes; 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)

                                                                         Réplica 1    Réplica 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

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.

b) Investigue qué efectos influyen de manera significativa sobre Y1 (apóyese en Pareto y ANOVA).

c) Obtenga el mejor ANOVA.

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.

e) ¿Qué tratamiento minimiza Y1?

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

g) ¿Qué tratamiento minimiza Y2?

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

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

j ) Verifique residuos.

1.2 Solución

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.
Si procedemos de esta forma, ignoraremos información importante, lo que será una decisión arriesgada porque no sabemos exactamente si esta condición es la mejor condición en el proceso. En otras palabras, se perderá el tiempo que se tarda en colocar los componentes en el caso de un rendimiento deficiente en la prueba.

b) Investigue qué efectos influyen de manera significativa sobre Y1 (apóyese en Pareto y ANOVA).

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 ...
View(datos)
attach(datos)
f_factorA=factor(`Factor_A`)
f_factorB=factor(`Factor_B`)
f_factorC=factor(`Factor_C`)
f_factorD=factor(`Factor_D`)
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

Podemos observar que los factores C, D, A, B y la interacción AC son significativos.Es decir influyen los 4 factores: A, B, C, D

c) Obtenga el mejor ANOVA.

modelo1=aov(Y1~(Factor_B+Factor_D+Factor_A*Factor_C))
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

En vista de los resultados observados en el primer análisis de varianza, se decidió excluir todas las interacciones de tercer orden porque no reducirían significativamente el orden máximo del efecto a 2. Además, se excluirá la interacción de AB, AD y CD, es decir, aquellos con mayor F valor en los resultados iniciales para obtener el siguiente análisis de varianza.

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")

grafica_interaciones=IAPlot(experimento_respuesta, main= "Gráfica de interacción" )

Observamos que la única interacción importante que existe es AC. Más adelante, si miramos el diagrama de interacción, nos daremos cuenta de que el mejor nivel de variable de respuesta que minimiza el número de errores será el nivel alto de A y el nivel bajo de C.

e) ¿Qué tratamiento minimiza Y1?
Dado que los cuatro factores (A, B, C, D) son importantes para la variable de respuesta, es necesario abordar todos los niveles. Los factores A y B deben funcionar a un nivel bajo, y los factores C y D funcionan a un nivel alto para minimizar la variable de respuesta. (-1, -1, 1, 1)

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

De los gráficos de ANOVA, podemos ver que los factores A, C y D son importantes. Entre estos, el factor de mayor importancia es el factor A.

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")

grafica_interaciones=IAPlot(experimento_respuesta, main= "Gráfica de interacción" )

Para reducir la segunda variable de respuesta, notamos que el factor A debe ser alto, ya que el factor B es insignificante, no se tomará en cuenta, el factor C pasará a ser bajo y finalmente el débil. El factor D está en un alto nivel. (1,-1,1)

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

Para Y1 (A,B,C,D)≥ (-1,-1,+1,+1)
Para Y2 (A,B,C,D)≥ (+1,+1,-1,+1)

Dado que ambas formaciones requieren que el factor D sea alto, podemos concluir que su condición patológica es necesaria para reducir tanto Y1 como Y2.

Condición: (A, B, C, D) =>(-,-,+,+)

i ) De los análisis de varianza para Y1 y Y2 observe el coeficiente R2. ¿Qué concluye de ello? Replica_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

Replica_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

R2 indica la adaptabilidad de los datos para predecir la variable respuesta, es decir, cuanto mayor es el valor, mayor es la amplitud. A partir de esto, podemos concluir que Y1 tiene un R2 de 99% que se ajusta mejor a los datos de este modelo y, por lo tanto, tiene un mejor modelo. Los coeficientes Y1 e Y2 explican todas las diferencias en los datos. Aunque esto explica más que Y1

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))

Con base en el gráfico anterior, podemos concluir que los puntos en el gráfico no muestran un comportamiento lineal, por lo que se concluye que no muestran un comportamiento normal. No corresponde al supuesto de normalidad.

homocedasticidad=bartlett.test(resid(modelo),f_factorA,f_factorB,f_factorC,f_factorD,data=experimento_resp)
print(homocedasticidad)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  resid(modelo) and f_factorA
## Bartlett's K-squared = 2.0788, df = 1, p-value = 0.1494

En base a los resultados obtenidos del análisis de varianza, estas son las varianzas homólogas, pues aunque no son normales, sus varianzas son constantes, por lo que podemos decir que el modelo de regresión no está adecuado.

BIBLIOGRAFIA

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