Considere un experimiento \(2^{5-1}\) con I=ABCDE que fue utilidado para investigar los efectos de cinco factores sobre el el color de un producto químico. Los factores son A=solvente/reactante, B=catalizador/reactante, C=temperatura, D=pureza del reactante y E=acidez del reactante. Los resultados obtenidos son los siguientes:
combinaciones
Lo primero que se debe realizar es mandar a instruir las librerías que se van a utilizar para poder realizar nuestro diseño factorial, tenemos la librería “readx” que llama los datos de excel, y la librería “FrF2” que hará nuestro analísis estadístico.
library(readxl)
library(FrF2)
## Loading required package: DoE.base
## Loading required package: grid
## Loading required package: conf.design
## Registered S3 method overwritten by 'DoE.base':
## method from
## factorize.factor conf.design
##
## Attaching package: 'DoE.base'
## The following objects are masked from 'package:stats':
##
## aov, lm
## The following object is masked from 'package:graphics':
##
## plot.design
## The following object is masked from 'package:base':
##
## lengths
datos=read_excel(path = "dataset.xlsx")
View(datos)
attach(datos)
str(datos)
## tibble [16 x 6] (S3: tbl_df/tbl/data.frame)
## $ A : num [1:16] -1 1 -1 1 -1 1 -1 1 -1 1 ...
## $ B : num [1:16] -1 -1 1 1 -1 -1 1 1 -1 -1 ...
## $ C : num [1:16] -1 -1 -1 -1 1 1 1 1 -1 -1 ...
## $ D : num [1:16] -1 -1 -1 -1 -1 -1 -1 -1 1 1 ...
## $ E : num [1:16] 1 -1 -1 1 -1 1 1 -1 -1 1 ...
## $ color: num [1:16] -0.63 2.51 -2.68 1.66 2.06 1.22 -2.09 1.93 6.79 5.47 ...
head(datos,n=16L)
## # A tibble: 16 x 6
## A B C D E color
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 -1 -1 -1 -1 1 -0.63
## 2 1 -1 -1 -1 -1 2.51
## 3 -1 1 -1 -1 -1 -2.68
## 4 1 1 -1 -1 1 1.66
## 5 -1 -1 1 -1 -1 2.06
## 6 1 -1 1 -1 1 1.22
## 7 -1 1 1 -1 1 -2.09
## 8 1 1 1 -1 -1 1.93
## 9 -1 -1 -1 1 -1 6.79
## 10 1 -1 -1 1 1 5.47
## 11 -1 1 -1 1 1 3.45
## 12 1 1 -1 1 -1 5.68
## 13 -1 -1 1 1 1 5.22
## 14 1 -1 1 1 -1 4.38
## 15 -1 1 1 1 -1 4.3
## 16 1 1 1 1 1 4.05
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 = color)
halfnormal(experimento_respuesta, xlab = "Efectos activos")
##
## Significant effects (alpha=0.05, Lenth method):
## [1] D1
En esta gráfica se puede observar que los efectos activos en el diseño experimental es unicamente el efecto del factor D. 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 de un producto químico")
En esta grafica puede confirmarse la información que se obtuvo del análisis anterior, por lo que se concluye que el unico efecto activo es el D.
Procederemos a realizar la tabla ANOVA del experimento, pero considerando unidamente las interacciones dobles combinadas con el factor D, esto se realiza mediante el siguiente código:
#A:D#
modelo_a_d=lm(color~(A*D),data = datos)
summary(modelo_a_d)
##
## Call:
## lm.default(formula = color ~ (A * D), data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.8450 -0.6913 -0.0350 0.6012 2.8950
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7075 0.3410 7.939 4.07e-06 ***
## A 0.6550 0.3410 1.921 0.0789 .
## D 2.2100 0.3410 6.480 3.02e-05 ***
## A:D -0.6775 0.3410 -1.987 0.0703 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.364 on 12 degrees of freedom
## Multiple R-squared: 0.8053, Adjusted R-squared: 0.7566
## F-statistic: 16.54 on 3 and 12 DF, p-value: 0.0001459
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 3.689 0.0789 .
## D 1 78.15 78.15 41.991 3.02e-05 ***
## A:D 1 7.34 7.34 3.946 0.0703 .
## Residuals 12 22.33 1.86
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#B:D#
modelo_b_d=lm(color~(B*D),data = datos)
summary(modelo_b_d)
##
## Call:
## lm.default(formula = color ~ (B * D), data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.3850 -0.9613 -0.0700 1.2425 2.2250
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.7075 0.3894 6.952 1.53e-05 ***
## B -0.6700 0.3894 -1.720 0.111008
## D 2.2100 0.3894 5.675 0.000103 ***
## B:D 0.1225 0.3894 0.315 0.758497
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.558 on 12 degrees of freedom
## Multiple R-squared: 0.7461, Adjusted R-squared: 0.6826
## F-statistic: 11.75 on 3 and 12 DF, p-value: 0.0006947
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 2.960 0.111008
## D 1 78.15 78.15 32.205 0.000103 ***
## B:D 1 0.24 0.24 0.099 0.758497
## Residuals 12 29.12 2.43
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#C:D#
modelo_c_d=lm(color~(C*D),data = datos)
summary(modelo_c_d)
##
## Call:
## lm.default(formula = color ~ (C * D), data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.8950 -0.5394 0.2275 1.1825 2.2950
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.70750 0.42342 6.394 3.43e-05 ***
## C -0.07375 0.42342 -0.174 0.864631
## D 2.21000 0.42342 5.219 0.000215 ***
## C:D -0.35625 0.42342 -0.841 0.416599
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.694 on 12 degrees of freedom
## Multiple R-squared: 0.6999, Adjusted R-squared: 0.6248
## F-statistic: 9.327 on 3 and 12 DF, p-value: 0.001847
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.030 0.864631
## D 1 78.15 78.15 27.242 0.000215 ***
## C:D 1 2.03 2.03 0.708 0.416599
## Residuals 12 34.42 2.87
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#D:E#
modelo_d_e=lm(color~(D*E),data = datos)
summary(modelo_d_e)
##
## Call:
## lm.default(formula = color ~ (D * E), data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.6350 -0.9275 0.5325 1.1238 1.6200
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.70750 0.41939 6.456 3.13e-05 ***
## D 2.21000 0.41939 5.270 0.000198 ***
## E -0.41375 0.41939 -0.987 0.343341
## D:E 0.04375 0.41939 0.104 0.918641
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.678 on 12 degrees of freedom
## Multiple R-squared: 0.7055, Adjusted R-squared: 0.6319
## F-statistic: 9.584 on 3 and 12 DF, p-value: 0.001653
anova_d_e=aov(modelo_d_e)
summary(anova_d_e)
## Df Sum Sq Mean Sq F value Pr(>F)
## D 1 78.15 78.15 27.768 0.000198 ***
## E 1 2.74 2.74 0.973 0.343341
## D:E 1 0.03 0.03 0.011 0.918641
## Residuals 12 33.77 2.81
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En nuestro análisis anterior podemos concluir que el factor que intervienen de manera significativa para maximizar el color de un producto Químico, considerando el valor p de la tabla anova de cada corrida, es: el facor D, el cual es la pureza del reactante, este factor principalmente influye significativamente en la coloración del producto químico.
Para nuestro análisis gráfico, utlizaremos el siguiente coddígo:
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
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
No cabe duda, que el factor D el cual es la pureza del reactante es el mejor tratimiento y la respuesta predicha por el modelo, que tiene un gran impacto en el color del producto Químico, esto debido a que en todas las pruebas estadisticas que se utilizaron en este modelo, fue el unico factor que dio respuestas diferentes a las demas, y se pudo observar en la grafíca de efectos individuales como influye este factor en el proceso.
Para hacer nuestro analisis residual, debemos hacer 2 pruebas, el de normalidad y de homocedasticidad, para ello utlizaremos la siguiente codificación:
normalidad=shapiro.test(resid(modelo_a_d))
print(normalidad)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo_a_d)
## W = 0.95541, p-value = 0.5799
normalidad2=shapiro.test(resid(modelo_b_d))
print(normalidad2)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo_b_d)
## W = 0.96133, p-value = 0.6861
normalidad3=shapiro.test(resid(modelo_c_d))
print(normalidad3)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo_c_d)
## W = 0.92953, p-value = 0.2396
normalidad4=shapiro.test(resid(modelo_d_e))
print(normalidad4)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo_d_e)
## W = 0.89309, p-value = 0.06235
Homosedasticidad=bartlett.test(resid(modelo_a_d),A,D,data= datos)
print(Homosedasticidad)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo_a_d) and A
## Bartlett's K-squared = 5.385, df = 1, p-value = 0.02031
Homosedasticidad2=bartlett.test(resid(modelo_b_d),B,D,data= datos)
print(Homosedasticidad2)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo_b_d) and B
## Bartlett's K-squared = 1.1263, df = 1, p-value = 0.2886
Homosedasticidad3=bartlett.test(resid(modelo_c_d),C,D,data= datos)
print(Homosedasticidad3)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo_c_d) and C
## Bartlett's K-squared = 0.58703, df = 1, p-value = 0.4436
Homosedasticidad4=bartlett.test(resid(modelo_d_e),D,E,data= datos)
print(Homosedasticidad4)
##
## Bartlett test of homogeneity of variances
##
## data: resid(modelo_d_e) and D
## Bartlett's K-squared = 2.7658, df = 1, p-value = 0.0963