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: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 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.
Se perderá el tiempo que se tarda en colocar los componentes, para efectos de este caso no tendría un buen rendimiento 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)
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
Al hacer el analisis de las interacciones de los factores, Se observa 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
Con base a los resultados experimentales dados por el análisis de varianza, se decide excluir las interacciones de 3er orden dado que no son significativas y reducen el orden máximo del efecto a 2. Se incluyen las interacciónes de AB, AD y CD.
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" )
Se observa que la única interacción significativa 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?
Los cuatro factores (A, B, C, D) son importantes, 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. 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
Los factores A, C y D son importantes. El factor que presenta una mayor significancia 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" )
Al analisar las tablas de graficos de las interacciones de los factores, Se observa que el factor A debe tener un alto nivel dado que el factor B no es significativo, factor C se trabajará un nivel bajo y el factor D con un nivel alto.
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 se requiere el factor D alto, se concluye 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 |
Se encuentra que R2 indica la capacidad de los datos para ajustarse a la variable respuesta, por lo tanto entre mayor es el valor, mayor sera la capacidad y se concluye 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 tanto de y1 y y2 explican toda la variabilidad de los datos. aunque lo explica mas 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))
Al realizar la prueba de Shapiro-Wilk se concluye que no muestran una normalidad de los residuos, por lo que la prueba no unciona.
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
Son homocedásticos, se concluye que el modelo de regresión planteado para este caso no funciona.