R.D. Snee (“Experimentacion con un numero grande de variables,” en Experiments in industry : Desing, 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.(Montgomery (2004)) 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 | 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 |
Construir una grafica normal de los efectos. ¿Que efectos parecen estar activos?
Calcular los residuales. Construir una grafica de probabilidad normal de los residuales y graficar los residuales contra los valores ajustados. Comentar las graficas.
Si alguno 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.
Construir una grafica normal de los efectos. ¿Que efectos parecen estar activos?
Antes de continuar, se procede a llamar la tabla con los datos:
library(printr)
## Registered S3 method overwritten by 'printr':
## method from
## knit_print.data.frame rmarkdown
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.table("dataset.txt", header = TRUE)
str(datos)
## 'data.frame': 16 obs. of 6 variables:
## $ ASolvente : int -1 1 -1 1 -1 1 -1 1 -1 1 ...
## $ BCatalizador: int -1 -1 1 1 -1 -1 1 1 -1 -1 ...
## $ CTemperatura: int -1 -1 -1 -1 1 1 1 1 -1 -1 ...
## $ DPureza : int -1 -1 -1 -1 -1 -1 -1 -1 -1 1 ...
## $ EPH : int 1 -1 -1 1 -1 1 1 -1 1 1 ...
## $ Respuestas : 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(`ASolvente`)
B=factor(`BCatalizador`)
C=factor(`CTemperatura`)
D=factor(`DPureza`)
E=factor(`EPH`)
head(datos, n=16L)
| ASolvente | BCatalizador | CTemperatura | DPureza | EPH | Respuestas |
|---|---|---|---|---|---|
| -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 |
Una vez llamados los datos se procede a resonder lo antes planteado:
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 = Respuestas)
halfnormal(experimento_respuesta, xlab = "Efectos activos")
##
## Significant effects (alpha=0.05, Lenth method):
## [1] D1
En vista de lo anterior, se puede decir que los efectos activos del diseño de experimento es unicamente el factor D.
Lo anterior se comprobara con una grafica de Daniel:
DanielPlot(experimento_respuesta, main= "Gráfico de Daniel")
En la gráfica anterior se confirma lo ya mencionado con anterioridad, por lo que se concluye que el efecto activo es el factor D.
Calcular los residuales. Construir una grafica de probabilidad normal de los residuales y graficar los residuales contra los valores ajustados. Comentar las graficas.
Para este inciso, se hara una prueba de normalidad de residuos de Shapiro-Wilk
modelo= aov(Respuestas~(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 base a la tabla ANOVA con ∝=0.05, y los 5 factores a los cuales les afecta el color del producto químico, vemos que el valor \(p\) para todos los efectos produccidos de los diferentes factores no son significativos.
normalidad=shapiro.test(resid(modelo))
print(normalidad)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo)
## W = 0.51123, p-value = 2.63e-06
Tras haber realizado la prueba de Shapiro-Wilk utilizado el Valor \(p<0.05\) dado que el resultado es menor al valor antes mencionado, se concluye que se rechaza la hipótesis nula y se comfirma que los residuos no tienen normalidad.
qqnorm(resid(modelo), main= "Gráfica de Probabilidad para los Residuales del Modelo", xlab="Cuantiles Teoricos", ylab = "Cuantiles de muestra")
qqline(resid(modelo))
Hay una falta de normalidad respecto a los residuos, en base a la prueba de Shapiro-Wilk que confirma mediante la gráfica.
Se concluye que existen datos atípicos en el modelo propuesto, y provocan que no sea idóneo para explicar la interacción que exise entre del color del quimico respescto a los factores evaluados.
Prueba Igualdad de Varianzas de Bartlett
\[H0:σ^2_i=σ^2_j=Constante\]
\[H1:σ^2_i≠σ^2_j≠Constante\]
homocedasticidad=bartlett.test(resid(modelo),A,B,C,D,E,data=experimento_resp)
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
Ahora,basandonos en los resultados obtenidos por el análisis de homocedasticidad, estos son homocedásticos, y se concluye que el modelo de regresión no es adecuado.
Si alguno 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.
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 |
Podemos decir en base a la grafica anterior que los efectos de cinco factores que generan un incremento en el color de un producto químico es el factor D y el A.
Ademas, hay disminuciones y aumentos en los factores, esto se muestra a continuacion:
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 |
Vista la gráfica anterior de las interraciones existen algunas que se consideran fuertes, como las siguientes:
Para corroborar lo anterior se hara un ANOVA pero solo tomando unicamente las interacciones dobles:
modelo_a_d=lm(Respuestas~(A*D),data = datos)
summary(modelo_a_d)
##
## Call:
## lm.default(formula = Respuestas ~ (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(Respuestas~(B*D),data = datos)
summary(modelo_b_d)
##
## Call:
## lm.default(formula = Respuestas ~ (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(Respuestas~(C*D),data = datos)
summary(modelo_c_d)
##
## Call:
## lm.default(formula = Respuestas ~ (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(Respuestas~(D*E),data = datos)
summary(modelo_d_e)
##
## Call:
## lm.default(formula = Respuestas ~ (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
Para finalizar,en vista de todo lo anterior se concluye que de los 5 factores que intervienen de manera significativa en el color del producto de un químico, con el Valor \(p\) de la tabla anova de cada corrida, el factor D corresponde a la pureza del reactivo, y por ello el D se debe mantener a un alto nivel.