Diseño Factorial Fraccinoado

Ejercicio 8-6

Montgomery (2004) R.D.Snee (“Experimentación con un número grande de variables”, en Experiments in industry: Desegn, Analysis and Interpretation of Results, de R.D. Snee, L:.B. Hare y J.B. Trout, editores, ASQC) describe un experimento en el que se usó un diseño \(2^5-1\) con I=ABCDE para investigar los efectos de cinco factores sobre el color de un producto química. Los factores son A= solventes/reactivo, B=catalizador/reactivo, C=temperatura, D=pureza del reactivo y E= pH del reactivo. Los resultados obtenidos fueron los siguientes:

e=-0.63 d=6.79
a=2.51 ade=5.47
b=-2.68 bde=3.45
abe=1.66 adb=5.68
c=2.06 cde=5.22
ace=1.22 acd=4.38
bce=-2.09 bcd=4.30
abc=1.93 abcde=4.05

a) Construir una gráfica de probabilidad normal de los efectos. ¿Qué efectos parecen estar activos?
b) Calcular los residuales. Construir una gráfica de probabilidad normal de los residuales y graficar los residuales contra los valores ajustados. Comentar las gráficas.
c) Si algunos de los factores son insignificantes plegar el diseño \(2^5-1\) un diseño factorial completo en los factores activos. Comentar el diseño resultante e interpretar los resultados.

Solución

library(printr)
datos=read.table("dataset.txt",header = TRUE)
str(datos)
## 'data.frame':    16 obs. of  6 variables:
##  $ Solvente_reactivoA   : int  -1 1 -1 1 -1 1 -1 1 -1 1 ...
##  $ Catalizador_reactivoB: int  -1 -1 1 1 -1 -1 1 1 -1 -1 ...
##  $ Temperatura_C        : int  -1 -1 -1 -1 1 1 1 1 -1 -1 ...
##  $ Pureza_reactivoD     : int  -1 -1 -1 -1 -1 -1 -1 -1 -1 1 ...
##  $ PH_reactivoE         : int  1 -1 -1 1 -1 1 1 -1 1 1 ...
##  $ Resultados           : num  -0.63 2.51 -2.68 1.66 2.06 1.22 -2.09 1.93 6.79 5.47 ...
View(datos)

Inciso a)

  1. Construir una gráfica de probabilidad normal de los efectos. ¿Qué efectos parecen estar activos? Se debe realizar la gráfica de Pareto y la de Daniel para concocer cuales son los efectos que tienen relevancia dentro del experimento, conbase al principio de escasez. Para ello se utiliza el código siguiente:
f_rA=factor('Solvente_reactivoA')
f_rB=factor('Catalizador_reactivoB')
f=rC=factor('Temperatura_c')
f_rD=factor('Pureza_reactivoD')
f_rE=factor('PH_reactivoE')
attach(datos)
head(datos,n=16L)
Solvente_reactivoA Catalizador_reactivoB Temperatura_C Pureza_reactivoD PH_reactivoE Resultados
-1 -1 -1 -1 1 -0.63
1 -1 -1 -1 -1 2.51
-1 1 -1 -1 -1 -2.68
1 1 -1 -1 1 1.66
-1 -1 1 -1 -1 2.06
1 -1 1 -1 1 1.22
-1 1 1 -1 1 -2.09
1 1 1 -1 -1 1.93
-1 -1 -1 -1 1 6.79
1 -1 -1 1 1 5.47
-1 1 -1 1 1 3.45
1 1 -1 1 -1 5.68
-1 -1 1 1 1 5.22
1 -1 1 1 -1 4.38
-1 1 1 1 -1 4.30
1 1 1 1 1 4.05
library(FrF2)
experimento= FrF2(nruns = 16, nfactors = 5, factor.names= list(Solvente_reactivoA=c(-1,1), Catalizador_reactivoB=c(-1,1), Temperatura_C=c(-1,1), Pureza_reactivoD=c(-1,1), PH_reactivoE=c(-1,1)), replications = 1, randomize = FALSE)
experimento_respuesta=add.response(design = experimento,response = Resultados)
halfnormal(experimento_respuesta, xlab = "Efectos activos")

Con respecto a la gráfica anterior el único factor que tiene relevancia es el de Pureza_reactivoD, para poder confirmar la informacion antes mencionada se hace la verificación mediante el gráfico de Daniel mediante el siguiente código:

DanielPlot(experimento_respuesta, main= "Gràfico de Daniel para el Alcohol Isoamìlico")

Con respecto a la gráfica anterior se confirma que el resultado que se obtuvo del análisis anterior donde el efecto activo es el de pureza_reactivoD.

Inciso b)

  1. Calcular los residuales. Construir una gráfica de probabilidad normal de los residuales y graficar los residuales contra los valores ajustados. Comentar las gráficas.
modelo=aov(Resultados ~ (Solvente_reactivoA*Catalizador_reactivoB*Temperatura_C*Pureza_reactivoD*PH_reactivoE))
summary(modelo)
##                                          Df Sum Sq Mean Sq F value Pr(>F)
## Solvente_reactivoA                        1   6.86    6.86   0.249  0.705
## Catalizador_reactivoB                     1   7.18    7.18   0.261  0.699
## Temperatura_C                             1   0.09    0.09   0.003  0.964
## Pureza_reactivoD                          1  49.95   49.95   1.815  0.407
## PH_reactivoE                              1   0.01    0.01   0.001  0.986
## Solvente_reactivoA:Catalizador_reactivoB  1  12.55   12.55   0.456  0.622
## Solvente_reactivoA:Temperatura_C          1   0.28    0.28   0.010  0.936
## Catalizador_reactivoB:Temperatura_C       1   1.96    1.96   0.071  0.834
## Solvente_reactivoA:Pureza_reactivoD       1   3.91    3.91   0.142  0.771
## Catalizador_reactivoB:Pureza_reactivoD    1   1.36    1.36   0.050  0.861
## Temperatura_C:Pureza_reactivoD            1   0.51    0.51   0.018  0.914
## Solvente_reactivoA:PH_reactivoE           1   0.00    0.00   0.000  0.996
## Catalizador_reactivoB:PH_reactivoE        1   0.01    0.01   0.000  0.990
## Temperatura_C:PH_reactivoE                1   2.49    2.49   0.090  0.814
## Residuals                                 1  27.53   27.53

Teniendo la tabla ANOVA el unico factor de los 5 es el que tiene mayor significancia y el cual indica que tiene reacciones.

normalidad=shapiro.test(resid(modelo))
print(normalidad)
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(modelo)
## W = 0.51123, p-value = 2.63e-06
#Gràfica de probabilidad normal
qqnorm(resid(modelo), main = "Grafica de probabilidad para los Residuales del Modelo", xlab = "Cuantiles Teoricos", ylab = "Cuantiles de muestra")
qqline(resid(modelo))

Con respecto a la gráfica de probabilidad para los residuales del modelo se observa que hay un comportamiento lineal la mayoria de los puntos en la gráfica, excepto uno.

homocedasticidad=bartlett.test(resid(modelo),Solvente_reactivoA, Catalizador_reactivoB, 
            Temperatura_C, Pureza_reactivoD, PH_reactivoE,data=experimento_resp)
print(homocedasticidad)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  resid(modelo) and Solvente_reactivoA
## Bartlett's K-squared = 461.27, df = 1, p-value < 2.2e-16

Ahora hablando de los resultados que se obtuvieron existe homogeneidad en las varianzas por ende el modelo es el adecuado.

Inciso c)

  1. Si algunos de los factores son insignificantes plegar el diseño \(2^5-1\) un diseño factorial completo en los factores activos. Comentar el diseño resultante e interpretar los resultados.

Se procede a continuar con los graficos correspondientes:

grafica_interacciones=IAPlot(experimento_respuesta)

head(grafica_interacciones)
Solvente_reactivoA:Catalizador_reactivoB Solvente_reactivoA:Temperatura_C Solvente_reactivoA:Pureza_reactivoD Solvente_reactivoA:PH_reactivoE Catalizador_reactivoB:Temperatura_C Catalizador_reactivoB:Pureza_reactivoD Catalizador_reactivoB:PH_reactivoE Temperatura_C:Pureza_reactivoD Temperatura_C:PH_reactivoE Pureza_reactivoD:PH_reactivoE
-:- 3.360 1.7325 -0.835 2.6175 3.5350 1.290 3.9350 0.2150 3.0750 0.9550
+:- 3.395 3.8300 1.830 3.6250 2.0275 -0.295 2.3075 0.7800 3.1675 5.2875
-:+ 0.745 2.3725 4.940 1.4875 3.2200 5.465 2.8200 5.3475 2.4875 0.0400
+:+ 3.330 2.8950 4.895 3.1000 2.0475 4.370 1.7675 4.4875 2.1000 4.5475
modelo_Catalizador_reactivoB_Temperatura_C=lm(Resultados ~(Catalizador_reactivoB* Temperatura_C), data = datos)
summary(modelo_Catalizador_reactivoB_Temperatura_C)
## 
## Call:
## lm.default(formula = Resultados ~ (Catalizador_reactivoB * Temperatura_C), 
##     data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.7075 -1.3700  0.5212  2.0006  3.6525 
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)   
## (Intercept)                          2.70750    0.74758   3.622   0.0035 **
## Catalizador_reactivoB               -0.67000    0.74758  -0.896   0.3878   
## Temperatura_C                       -0.07375    0.74758  -0.099   0.9230   
## Catalizador_reactivoB:Temperatura_C  0.08375    0.74758   0.112   0.9127   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.99 on 12 degrees of freedom
## Multiple R-squared:  0.06436,    Adjusted R-squared:  -0.1695 
## F-statistic: 0.2752 on 3 and 12 DF,  p-value: 0.8422
anova_Catalizador_reactivoB_Temperatura_C=aov(modelo_Catalizador_reactivoB_Temperatura_C)
summary(anova_Catalizador_reactivoB_Temperatura_C)
##                                     Df Sum Sq Mean Sq F value Pr(>F)
## Catalizador_reactivoB                1   7.18   7.182   0.803  0.388
## Temperatura_C                        1   0.09   0.087   0.010  0.923
## Catalizador_reactivoB:Temperatura_C  1   0.11   0.112   0.013  0.913
## Residuals                           12 107.30   8.942
modelo_Temperatura_C_Pureza_reactivoD=lm(Resultados ~(Temperatura_C*Pureza_reactivoD),data = datos)
summary(modelo_Temperatura_C_Pureza_reactivoD)
## 
## Call:
## lm.default(formula = Resultados ~ (Temperatura_C * Pureza_reactivoD), 
##     data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2100 -0.6823  0.2850  0.8550  5.2600 
## 
## Coefficients:
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     2.91604    0.59705   4.884 0.000376 ***
## Temperatura_C                  -0.28229    0.59705  -0.473 0.644829    
## Pureza_reactivoD                1.76104    0.59705   2.950 0.012153 *  
## Temperatura_C:Pureza_reactivoD  0.09271    0.59705   0.155 0.879183    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.349 on 12 degrees of freedom
## Multiple R-squared:  0.4225, Adjusted R-squared:  0.2781 
## F-statistic: 2.926 on 3 and 12 DF,  p-value: 0.07714
anova_Catalizador_reactivoB_Temperatura_C=aov(modelo_Catalizador_reactivoB_Temperatura_C)
summary(anova_Catalizador_reactivoB_Temperatura_C)
##                                     Df Sum Sq Mean Sq F value Pr(>F)
## Catalizador_reactivoB                1   7.18   7.182   0.803  0.388
## Temperatura_C                        1   0.09   0.087   0.010  0.923
## Catalizador_reactivoB:Temperatura_C  1   0.11   0.112   0.013  0.913
## Residuals                           12 107.30   8.942
modelo_solvente_reactivoA_Pureza_reactivoD=lm(Resultados ~(Solvente_reactivoA*Pureza_reactivoD),data = datos)
summary(modelo_solvente_reactivoA_Pureza_reactivoD)
## 
## Call:
## lm.default(formula = Resultados ~ (Solvente_reactivoA * Pureza_reactivoD), 
##     data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3700 -0.8521 -0.0967  0.7062  6.1000 
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                           2.9346     0.5882   4.989 0.000315 ***
## Solvente_reactivoA                    0.4279     0.5882   0.728 0.480860    
## Pureza_reactivoD                      1.6746     0.5882   2.847 0.014703 *  
## Solvente_reactivoA:Pureza_reactivoD  -0.1421     0.5882  -0.242 0.813197    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.314 on 12 degrees of freedom
## Multiple R-squared:  0.4395, Adjusted R-squared:  0.2994 
## F-statistic: 3.137 on 3 and 12 DF,  p-value: 0.06541
anova_Solvente_reactivoA_Pureza_reactivoD=aov(modelo_solvente_reactivoA_Pureza_reactivoD)
summary(anova_Solvente_reactivoA_Pureza_reactivoD)
##                                     Df Sum Sq Mean Sq F value Pr(>F)  
## Solvente_reactivoA                   1   6.86    6.86   1.281 0.2797  
## Pureza_reactivoD                     1  43.23   43.23   8.070 0.0149 *
## Solvente_reactivoA:Pureza_reactivoD  1   0.31    0.31   0.058 0.8132  
## Residuals                           12  64.28    5.36                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelo_Pureza_reactivoD_PH_reactivoE=lm(Resultados ~(Pureza_reactivoD*PH_reactivoE),data = datos)
summary(modelo_Pureza_reactivoD_PH_reactivoE)
## 
## Call:
## lm.default(formula = Resultados ~ (Pureza_reactivoD * PH_reactivoE), 
##     data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6350 -0.6475  0.0500  0.9356  5.4000 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                    2.91979    0.60144   4.855 0.000395 ***
## Pureza_reactivoD               1.74729    0.60144   2.905 0.013198 *  
## PH_reactivoE                   0.04896    0.60144   0.081 0.936464    
## Pureza_reactivoD:PH_reactivoE -0.16854    0.60144  -0.280 0.784072    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.367 on 12 degrees of freedom
## Multiple R-squared:  0.414,  Adjusted R-squared:  0.2674 
## F-statistic: 2.825 on 3 and 12 DF,  p-value: 0.0836
anova_Pureza_reactivo_PH_reactivoE=aov(modelo_Pureza_reactivoD_PH_reactivoE)
summary(anova_Pureza_reactivo_PH_reactivoE)
##                               Df Sum Sq Mean Sq F value Pr(>F)  
## Pureza_reactivoD               1  46.96   46.96   8.384 0.0134 *
## PH_reactivoE                   1   0.08    0.08   0.014 0.9076  
## Pureza_reactivoD:PH_reactivoE  1   0.44    0.44   0.079 0.7841  
## Residuals                     12  67.21    5.60                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

En conclusión final, con los respectivos analisis, se observa que el factor de pureza del reactivo D, es el del factor activo ya que tiene mayor influencia y por ende se espera tener mejor resultado en un nivel alto, por otro lado, los otros factores no son convenientes usarlos ya que no tendrían buen resultado.

Bibliografia

Montgomery, D. C. (2004). Diseño y Análisis de Experimentos (2a ed.). Limusa Wiley.