Análisis y diseño de Experimentos de Humberto Gutierrez Pulido.
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 \(2^4\) con n = 2 réplicas, en el que se tienen los siguientes factores 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 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. (Pulido & Vara Salazar, 2012) (Pulido, De la Vara Salazar, González, Martı́nez, & Pérez, 2012)
Los datos que obtenidos se muestran en la siguiente tabla:
| Factor | Factor | Factor | Factor | Réplica 1 | Réplica 2 | ||
|---|---|---|---|---|---|---|---|
| A | B | C | 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.
Adquisición de los datos:
library(readxl)
library(FrF2)
datos=read_excel(path = "dataset..xlsx")
View(datos)
attach(datos)
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.
Al continuar de esta manera se perdería información importante, por lo que la decisión es muy importante ya que no se tienen los datos sobre esta condición, podría ser la más adecuada para nuestro proceso.
Investigue qué efectos influyen de manera significativa sobre Y1 (apóyese en Pareto y ANOVA).
Una vez nombrado los factores debemos calcular los efectos que influyen de manera significativa sobre Y1, es por ello que se utilizará el siguiente modelo matemático como base para analizar los efectos que se tienen sobre la variable Y1.
f_a=factor(velocidad_de_cam)
f_b=factor(velocidad_de_mesa)
f_c=factor(orden)
f_d=factor(alimentador)
modelo1=lm(Y1~(f_a+f_b+f_c+f_d+f_a*f_b+f_a*f_c+f_a*f_d+f_b*f_c+f_b*f_d+f_c*f_d+f_a*f_b*f_c+f_a*f_b*f_d+f_a*f_c*f_d+f_b*f_c*f_d+f_a*f_b*f_c*f_d))
summary(modelo1)
##
## Call:
## lm.default(formula = Y1 ~ (f_a + f_b + f_c + f_d + f_a * f_b +
## f_a * f_c + f_a * f_d + f_b * f_c + f_b * f_d + f_c * f_d +
## f_a * f_b * f_c + f_a * f_b * f_d + f_a * f_c * f_d + f_b *
## f_c * f_d + f_a * f_b * f_c * f_d))
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.500 -5.125 0.000 5.125 20.500
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 55.500 8.317 6.673 5.35e-06 ***
## f_a1 46.000 11.762 3.911 0.00124 **
## f_b1 -5.000 11.762 -0.425 0.67643
## f_c1 -38.000 11.762 -3.231 0.00523 **
## f_d1 -40.000 11.762 -3.401 0.00365 **
## f_a1:f_b1 28.000 16.634 1.683 0.11172
## f_a1:f_c1 -35.000 16.634 -2.104 0.05153 .
## f_a1:f_d1 -3.000 16.634 -0.180 0.85914
## f_b1:f_c1 31.000 16.634 1.864 0.08083 .
## f_b1:f_d1 3.500 16.634 0.210 0.83600
## f_c1:f_d1 22.500 16.634 1.353 0.19497
## f_a1:f_b1:f_c1 -18.500 23.524 -0.786 0.44311
## f_a1:f_b1:f_d1 -18.500 23.524 -0.786 0.44311
## f_a1:f_c1:f_d1 -2.500 23.524 -0.106 0.91669
## f_b1:f_c1:f_d1 -24.500 23.524 -1.041 0.31313
## f_a1:f_b1:f_c1:f_d1 13.500 33.268 0.406 0.69027
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.76 on 16 degrees of freedom
## Multiple R-squared: 0.9461, Adjusted R-squared: 0.8955
## F-statistic: 18.72 on 15 and 16 DF, p-value: 2.305e-07
Tabla ANOVA
anova=aov(modelo1)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## f_a 1 8613 8613 62.260 6.63e-07 ***
## f_b 1 1263 1263 9.126 0.008117 **
## f_c 1 11820 11820 85.436 8.12e-08 ***
## f_d 1 11666 11666 84.328 8.87e-08 ***
## f_a:f_b 1 332 332 2.396 0.141163
## f_a:f_c 1 3549 3549 25.654 0.000115 ***
## f_a:f_d 1 205 205 1.482 0.241106
## f_b:f_c 1 332 332 2.396 0.141163
## f_b:f_d 1 428 428 3.092 0.097779 .
## f_c:f_d 1 306 306 2.214 0.156214
## f_a:f_b:f_c 1 69 69 0.499 0.490107
## f_a:f_b:f_d 1 69 69 0.499 0.490107
## f_a:f_c:f_d 1 9 9 0.065 0.801591
## f_b:f_c:f_d 1 158 158 1.139 0.301766
## f_a:f_b:f_c:f_d 1 23 23 0.165 0.690267
## Residuals 16 2213 138
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En conclusión los factores con significancia A,B,C,D y teniendo interaccion AC,los factores A,B,C Y D Influyen.
Obtenga el mejor ANOVA.
Tabla del mejor ANOVA
modeloMY1=aov(Y1~(f_b+f_c+f_d+f_a*f_c))
summary(modeloMY1)
## Df Sum Sq Mean Sq F value Pr(>F)
## f_b 1 1263 1263 7.923 0.00918 **
## f_c 1 11820 11820 74.174 4.32e-09 ***
## f_d 1 11666 11666 73.212 4.90e-09 ***
## f_a 1 8613 8613 54.053 8.30e-08 ***
## f_c:f_a 1 3549 3549 22.272 7.05e-05 ***
## Residuals 26 4143 159
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Se excluyen todas las interacciones de tercer orden ya que no reduce significativamente el orden máximo del efecto a 2, también se excluye la interaccion AB, AD Y CD, por lo cuals se logra obtener el siguiente análisis de varianza.
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.
experimento=FrF2(nruns = 16,nfactors = 4,factor.names = list(f_a=c(-1,1),f_b=c(-1,1),f_c=c(-1,1),f_d=c(-1,1)),replications = 2,randomize = FALSE)
## creating full factorial with 16 runs ...
experimento_resp=add.response(design = experimento,response = Y1)
Gráfica: de efectos individuales y de interacción Y1
MEPlot(experimento_resp,main= "Gráfica de Efectos Individuales")
IAPlot(experimento_resp, main= "Graficos de Interaccion")
Se observa que la interacción existente es AC, ya que el nivel de la variable de respuesta que minimiza el número de errores será el nivel alto de A y el nivel bajo de C.
¿Qué tratamiento minimiza Y1?
Los factores A,B,C Y D son importantes y por ello se necesita abordar todos los niveles.Por otra parte los factores A y B deben funcionar a nivel bajo y C y D a nivel más alto para minimizar la variable respuesta (-1, -1, 1, 1).
Ahora investigue qué efectos influyen de manera relevante sobre Y2.
Se utiliza el siguiente modelo para analizar los efectos que se tienen sobre la variable Y2.
f_a=factor(velocidad_de_cam)
f_b=factor(velocidad_de_mesa)
f_c=factor(orden)
f_d=factor(alimentador)
modelo2=lm(Y2~(f_a+f_b+f_c+f_d+f_a*f_b+f_a*f_c+f_a*f_d+f_b*f_c+f_b*f_d+f_c*f_d+f_a*f_b*f_c+f_a*f_b*f_d+f_a*f_c*f_d+f_b*f_c*f_d+f_a*f_b*f_c*f_d))
summary(modelo2)
##
## Call:
## lm.default(formula = Y2 ~ (f_a + f_b + f_c + f_d + f_a * f_b +
## f_a * f_c + f_a * f_d + f_b * f_c + f_b * f_d + f_c * f_d +
## f_a * f_b * f_c + f_a * f_b * f_d + f_a * f_c * f_d + f_b *
## f_c * f_d + f_a * f_b * f_c * f_d))
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.5 -1.0 0.0 1.0 13.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 83.500 4.274 19.538 1.37e-12 ***
## f_a1 -7.500 6.044 -1.241 0.233
## f_b1 -1.500 6.044 -0.248 0.807
## f_c1 10.500 6.044 1.737 0.102
## f_d1 -7.500 6.044 -1.241 0.233
## f_a1:f_b1 1.500 8.548 0.175 0.863
## f_a1:f_c1 -3.500 8.548 -0.409 0.688
## f_a1:f_d1 -3.500 8.548 -0.409 0.688
## f_b1:f_c1 -4.000 8.548 -0.468 0.646
## f_b1:f_d1 4.000 8.548 0.468 0.646
## f_c1:f_d1 -2.500 8.548 -0.292 0.774
## f_a1:f_b1:f_c1 1.000 12.088 0.083 0.935
## f_a1:f_b1:f_d1 10.500 12.088 0.869 0.398
## f_a1:f_c1:f_d1 7.000 12.088 0.579 0.571
## f_b1:f_c1:f_d1 2.500 12.088 0.207 0.839
## f_a1:f_b1:f_c1:f_d1 -16.500 17.095 -0.965 0.349
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.044 on 16 degrees of freedom
## Multiple R-squared: 0.6925, Adjusted R-squared: 0.4042
## F-statistic: 2.402 on 15 and 16 DF, p-value: 0.04609
Tabla ANOVA
anova=aov(modelo2)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## f_a 1 472.8 472.8 12.942 0.00241 **
## f_b 1 3.8 3.8 0.104 0.75183
## f_c 1 294.0 294.0 8.049 0.01190 *
## f_d 1 247.5 247.5 6.776 0.01922 *
## f_a:f_b 1 19.5 19.5 0.535 0.47523
## f_a:f_c 1 26.3 26.3 0.719 0.40885
## f_a:f_d 1 2.5 2.5 0.069 0.79573
## f_b:f_c 1 81.3 81.3 2.225 0.15525
## f_b:f_d 1 81.3 81.3 2.225 0.15525
## f_c:f_d 1 7.0 7.0 0.192 0.66673
## f_a:f_b:f_c 1 26.3 26.3 0.719 0.40885
## f_a:f_b:f_d 1 2.5 2.5 0.069 0.79573
## f_a:f_c:f_d 1 0.8 0.8 0.021 0.88556
## f_b:f_c:f_d 1 16.5 16.5 0.453 0.51074
## f_a:f_b:f_c:f_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
En conclusión con respecto a la tabla Anova, los factores A, C y D son importantes teniendo mayor importancia el factor A.
¿Qué tratamiento minimiza Y2?
library(FrF2)
experimento=FrF2(nruns = 16,nfactors = 4,factor.names = list(f_a=c(-1,1),f_b=c(-1,1),f_c=c(-1,1),f_d=c(-1,1)),replications = 2,randomize = FALSE)
## creating full factorial with 16 runs ...
experimento_resp=add.response(design = experimento,response = Y2)
Gráficas: de efectos individuales y de interacciones de Y2
MEPlot(experimento_resp,main= "Gráfica de Efectos Individuales")
IAPlot(experimento_resp, main= "Graficos de Interaccion")
En conclusión, el factor A debe ser alto ya que el factor B no se toma en cuenta y el factor C pasará a ser bajo. Por ultimo el factor D está en un nivel alto. (1, -1, 1).
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 es necesaria para lograr reducir tanto Y1 como Y2.
Condición: (A, B, C, D) =>(-,-,+,+). Su condición es necesaria para lograr reducir tanto Y1 como Y2.
De los análisis de varianza para Y1 y Y2 observe el coeficiente \(R^2\). ¿Qué concluye de ello?
Replica_Y1.
suma=((8613+1263+11820+11666+3549+428)/(8613+1263+11820+11666+3549+428+138)*100)
summary(suma)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 99.63 99.63 99.63 99.63 99.63 99.63
Replica_Y2.
suma2=((472.8+294+247.5)/(472.8+294+247.5+36.5)*100)
summary(suma2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 96.53 96.53 96.53 96.53 96.53 96.53
En conclusión Y1 tiene un R2 de 99%, por lo tanto, tiene un mejor modelo. Los coeficientes Y1 y Y2 explican todas las diferencias en los datos.
Verifique residuos. Hipotesis de la normalidad de los residuos de Shapiro-Wilks:
\[H0=XЄN(μ=0,σ2=Constante)\]
\[H0=X∉N(μ=0,σ2=Constante)\]
Prueba de normalidad Y1 y Y2
normalidad=shapiro.test(resid(modelo1))
print(normalidad)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo1)
## W = 0.96651, p-value = 0.4091
normalidad=shapiro.test(resid(modelo2))
print(normalidad)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo2)
## W = 0.8854, p-value = 0.002686
En conclusion, no hay existencia de normalidad en los residuos y si hay existencia de datos atípicos para el modelo propuesto, lo cual esto provoca que este modelo no sea el adecuado.
Prueba de Bartlett Y1 y Y2
homocedasticidad=bartlett.test(resid(modelo1),f_a,f_b,f_c,f_d,data=experimento_resp)
print(homocedasticidad)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo1) and f_a
## Bartlett's K-squared = 0.025372, df = 1, p-value = 0.8734
homocedasticidad=bartlett.test(resid(modelo2),f_a,f_b,f_c,f_d,data=experimento_resp)
print(homocedasticidad)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo2) and f_a
## Bartlett's K-squared = 2.0788, df = 1, p-value = 0.1494
La Prueba de Homocedasticidad, o de Varianzas Iguales, se realiza mediante la Prueba de Bartlett, misma que para el caso particular, como sólo es significativo el factor de tratamiento, solo se considerará éste para la ejecución de la prueba.