1 Ejemplo Diseño factorial fraccinonado

R.D Snee (“Experimentación con un número grande de variables” en Experiments in industry: Desing, and 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 uso un diseño \(2^{5-1}\) con \(I=ABCDE\) para investigar los efectos de cinco factores sobre el color de un producto quimico. Los factores son \(A=\) solvente/reactivo, \(B=\) catalizador/reactivo, \(C=\) temperatura, \(D=\) pureza del reactivo y \(E=\) pH del reactivo. Los resultados obtenidos fueron los siquientes(Montgomery, 2004, p. 2004):

e = -0.63 d = 6.79
a = 2.51 ade = 5.47
b = -2.68 bde = 3.45
abe = 1.66 abd = 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.

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

1.1 Desarrollo del ejercicio

library(printr)
## Registered S3 method overwritten by 'printr':
##   method                from     
##   knit_print.data.frame rmarkdown
datos=read.table("dataset.txt", header = TRUE)
str(datos)
## 'data.frame':    16 obs. of  6 variables:
##  $ Solvente_R   : int  -1 1 -1 1 -1 1 -1 1 -1 1 ...
##  $ Catalizador_R: int  -1 -1 1 1 -1 -1 1 1 -1 -1 ...
##  $ Temperatura  : int  -1 -1 -1 -1 1 1 1 1 -1 -1 ...
##  $ Pureza_R     : int  -1 -1 -1 -1 -1 -1 -1 -1 -1 1 ...
##  $ Ph_R         : 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)
attach(datos)
A=factor(`Solvente_R`)
B=factor(`Catalizador_R`)
C=factor(`Temperatura`)
D=factor(`Pureza_R`)
E=factor(`Ph_R`)
head(datos, n=16L)
Solvente_R Catalizador_R Temperatura Pureza_R Ph_R 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

1.1.0.1 INCISO A)

Verificar cuales son los efectos activos. Se requerirá obtener la gráfica de Pareto y la de Daniel, estas gráficas darán evidencia de cuales son los efectos relevantes del experimento, con base en el Principio de Escasez. Para obtenerlas debemos correr el siguiente código:

library(FrF2)
experimento=FrF2(nruns = 16, nfactors = 5, factor.names = list(A=c(-1,1),B=c(-1,1),C=c(-1,1),D=c(-1,1),E=c(-1,1)),generators = "ABCD",replications = 1,randomize = FALSE)
experimento_respuesta=add.response(design = experimento,response = Resultados)
halfnormal(experimento_respuesta, xlab = "Efectos activos")

El factor D parece estar activo.

Para confirmar la información que arroja la tabla, se verifica el gráfico de Daniel, mismo que se despliega utilizando el siguiente código:

DanielPlot(experimento_respuesta, main= "Gráfico de Daniel para el Color Del Producto")

En la grafica se corrobora que la información que se obtuvo anteriormente, por lo que se puede concluir que el efecto activo es el D, la pureza de los reactivos.

1.1.0.2 INCISO B)

modelo= aov(Resultados~(A*B*C*D*E))
summary(modelo)
##             Df Sum Sq Mean Sq F value Pr(>F)
## A            1   6.86    6.86   0.249  0.705
## B            1   7.18    7.18   0.261  0.699
## C            1   0.09    0.09   0.003  0.964
## D            1  49.95   49.95   1.815  0.407
## E            1   0.01    0.01   0.001  0.986
## A:B          1  12.55   12.55   0.456  0.622
## A:C          1   0.28    0.28   0.010  0.936
## B:C          1   1.96    1.96   0.071  0.834
## A:D          1   3.91    3.91   0.142  0.771
## B:D          1   1.36    1.36   0.050  0.861
## C:D          1   0.51    0.51   0.018  0.914
## A:E          1   0.00    0.00   0.000  0.996
## B:E          1   0.01    0.01   0.000  0.990
## C:E          1   2.49    2.49   0.090  0.814
## Residuals    1  27.53   27.53

En la tabla anova la cual evalua los factores que infieren sobre el color del producto, se aprecia que el \(valor_p\) de los efectos no es realmente significativo. Puesto a que se considera un valor de significancia de 0.05

normalidad=shapiro.test(resid(modelo))
print(normalidad)
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(modelo)
## W = 0.51123, p-value = 2.63e-06

En base a la prueba de shapiro se comprueba que se rechaza la hipotesis nula, ya que los residuos no siguen una normalidad, tomando en cuenta el \(valor_p < 0.05\).

qqnorm(resid(modelo), main = "Gráfica de Probabilidad para los Residuos del Modelo", xlab = "Cuantiles Teoricos", ylab = "Cuantiles de muestra")
qqline(resid(modelo))

Gracias a la grafica de los residuos del modelo y la prueba de shapiro, podemos decir que hay datos atipicos, por lo que concluimos que el modelo no es el que explica de manera correcta la interación del color del quimico.

homocedasticidad=bartlett.test(resid(modelo),A,B,C,D,E)
print(homocedasticidad)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  resid(modelo) and A
## Bartlett's K-squared = 457.1, df = 1, p-value < 2.2e-16

Podemos observar que los datos no son homocedásticos en los factores, por lo que concluimos que el modelo de regresión no es efectivo para este caso.

1.1.0.3 INCISO C)

efectos_principales= MEPlot(experimento_respuesta)

head(efectos_principales)
A B C D E
- 2.0525 3.3775 2.78125 0.4975 3.12125
+ 3.3625 2.0375 2.63375 4.9175 2.29375

Como conclusión de la grafica anterior, se puede concluir que los factores que infieren en el color del producto quimico es el factor D y A, y los factores E, C y B interfieren de una manera disminuyente.

grafica_interacciones=IAPlot(experimento_respuesta)

head(grafica_interacciones)
A:B A:C A:D A:E B:C B:D B:E C:D C:E D:E
-:- 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

Se observa en la grafica, hay interaciones notables entre (AD), (BD), (CD), y (DE), podemos corroborar si estas interaciones resultan significativas haciendo un analisis anova, considerando interaciones dobles.

modelo_a_d=lm(Resultados~(A*D),data = datos)
summary(modelo_a_d)
## 
## Call:
## lm.default(formula = Resultados ~ (A * D), 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)   0.6900     1.0351   0.667   0.5176  
## A1            1.1400     1.5526   0.734   0.4769  
## D1            3.6333     1.6903   2.150   0.0527 .
## A1:D1        -0.5683     2.3527  -0.242   0.8132  
## ---
## 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_a_d=aov(modelo_a_d)
summary(anova_a_d)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## A            1   6.86    6.86   1.281 0.2797  
## D            1  43.23   43.23   8.070 0.0149 *
## A:D          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_b_d=lm(Resultados~(B*D), data = datos)
summary(modelo_b_d)
## 
## Call:
## lm.default(formula = Resultados ~ (B * D), data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.0200 -0.9825 -0.1950  0.6625  4.4000 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   2.3900     0.9217   2.593   0.0235 *
## B1           -2.6850     1.3826  -1.942   0.0760 .
## D1            2.6333     1.5052   1.749   0.1057  
## B1:D1         2.0317     2.0952   0.970   0.3513  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.061 on 12 degrees of freedom
## Multiple R-squared:  0.5555, Adjusted R-squared:  0.4444 
## F-statistic: 4.999 on 3 and 12 DF,  p-value: 0.01778
anova_b_d=aov(modelo_b_d)
summary(anova_b_d)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## B            1   7.18    7.18   1.691 0.21792   
## D            1  52.53   52.53  12.366 0.00425 **
## B:D          1   3.99    3.99   0.940 0.35134   
## Residuals   12  50.98    4.25                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelo_c_d=lm(Resultados~(C*D),data = datos)
summary(modelo_c_d)
## 
## Call:
## lm.default(formula = Resultados ~ (C * D), 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)   1.5300     1.0507   1.456   0.1710  
## C1           -0.7500     1.5760  -0.476   0.6427  
## D1            3.3367     1.7157   1.945   0.0756 .
## C1:D1         0.3708     2.3882   0.155   0.8792  
## ---
## 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_c_d=aov(modelo_c_d)
summary(anova_c_d)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## C            1   0.09    0.09   0.016  0.902  
## D            1  48.23   48.23   8.739  0.012 *
## C:D          1   0.13    0.13   0.024  0.879  
## Residuals   12  66.23    5.52                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelo_d_e=lm(Resultados~(D*E),data = datos)
summary(modelo_d_e)
## 
## Call:
## lm.default(formula = Resultados ~ (D * E), 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)   0.9550     1.1833   0.807   0.4353  
## D1            3.8317     1.8075   2.120   0.0556 .
## E1            0.4350     1.5876   0.274   0.7887  
## D1:E1        -0.6742     2.4057  -0.280   0.7841  
## ---
## 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_d_e=aov(modelo_d_e)
summary(anova_d_e)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## D            1  46.96   46.96   8.384 0.0134 *
## E            1   0.08    0.08   0.014 0.9076  
## D:E          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

Con respecto a los analisis anteriores, se concluye que los factores que infieren de manera significativa sobre el color del producto quimico es el \(factor_D\) que es correspondiente a la pureza del reactivo, el cual es el de mayor inferencia y el que debe mantenerse en su nivel.

Bibliografía

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