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