En un artículo de AT&T Technical Journal (vol. 65, pp. 39-50) se describe la aplicación de diseños factoriales de dos niveles en la fabricación de circuitos integrados. Un paso básico del procesamiento es hacer crecer una capa epitaxial sobre obleas de silicio pulidas. Las obleas se montan en un susceptor, se colocan en el interior de una campana de cristal y se introducen vapores químicos. El susceptor se hace girar y se aplica calor hasta que la capa epitaxial tiene el espesor suficiente. Se corrió un experimento utilizando dos factores: rapidez de flujo de arsénico (A) y tiempo de deposición (B). Se corrieron cuatro réplicas y se midió el la capa epitaxial (en μm). Los datos se muestran a continuación (Montgomery, 2004):
| A | B | I | II | III | IV | Factor | Bajo (-) | Alto (+) |
|---|---|---|---|---|---|---|---|---|
| - | - | 14.037 | 16.165 | 13.972 | 13.907 | A | 55% | 59% |
| + | - | 13.880 | 13.860 | 14.032 | 13.914 | |||
| - | + | 14.821 | 14.757 | 14.843 | 14.878 | B | Corto | Largo |
| + | + | 14.888 | 14.921 | 14.415 | 14.932 | 10 min | 15 min |
Dado lo anterior, resuelva de manera clara y ordenada los siguientes incisos:
Estime los efectos de los factores
Ejecute un análisis de varianza ¿Qué factores son importantes?
Escriba una ecuación de regresión que podría usarse para predecir el espesor de la capa epitaxial en la región de la velocidad de flujo del arsénico y el tiempo de deposición utilizado en este experimento.
Analice los residuales. ¿Se observa algún residual que debiera causar preocupación?
Comentar la forma en que se podría resolver el punto atípico potencial encontrado en el inciso d.
Para comenzar debemos importar los datos desde el archivo que los contiene, ubicado en la carpeta de trabajo, que para este caso se llama dataset.txt
{
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 3 variables:
## $ capa : num 14 13.9 14.8 14.9 16.6 ...
## $ Arsenico: int -1 1 -1 1 -1 1 -1 1 -1 1 ...
## $ Tiempo : int -1 -1 1 1 -1 -1 1 1 -1 -1 ...
{
attach(datos)
}
Para efectos de resolver adecuadamente el ejercicio, reescribimos la tabla, de manera que sea interpretada como un conjunto de variables, quedando de la siguiente manera:
head(datos, n=16)
| capa | Arsenico | Tiempo |
|---|---|---|
| 14.037 | -1 | -1 |
| 13.880 | 1 | -1 |
| 14.821 | -1 | 1 |
| 14.888 | 1 | 1 |
| 16.615 | -1 | -1 |
| 13.860 | 1 | -1 |
| 14.757 | -1 | 1 |
| 14.921 | 1 | 1 |
| 13.972 | -1 | -1 |
| 14.032 | 1 | -1 |
| 14.843 | -1 | 1 |
| 14.415 | 1 | 1 |
| 13.907 | -1 | -1 |
| 13.914 | 1 | -1 |
| 14.878 | -1 | 1 |
| 14.932 | 1 | 1 |
El siguiente codigo se utiliza para determinar los efectos:
{
modelo=lm(capa~(Arsenico+Tiempo+Arsenico*Tiempo))
summary(modelo)
}
##
## Call:
## lm(formula = capa ~ (Arsenico + Tiempo + Arsenico * Tiempo))
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.72575 -0.14431 -0.00563 0.10188 1.98225
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.5420 0.1686 86.229 <2e-16 ***
## Arsenico -0.1868 0.1686 -1.107 0.290
## Tiempo 0.2649 0.1686 1.571 0.142
## Arsenico:Tiempo 0.1689 0.1686 1.001 0.336
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6746 on 12 degrees of freedom
## Multiple R-squared: 0.2813, Adjusted R-squared: 0.1016
## F-statistic: 1.565 on 3 and 12 DF, p-value: 0.249
library(FrF2)
experimento= FrF2(nruns = 4, nfactors = 2, factor.names = list(Arsenico=c(-1,1),Tiempo=c(-1.1)),replications = 4,randomize = FALSE )
experimento_respuesta=add.response(design=experimento,response = capa)
grafica_efectos_principales=MEPlot(experimento_respuesta, main= "Grafica de efectos individauales")
grafica_interacciones=IAPlot(experimento_respuesta, main= "Grafica de interacciones")
head(grafica_efectos_principales)
| Arsenico | Tiempo | |
|---|---|---|
| - | 14.72875 | 14.27712 |
| + | 14.35525 | 14.80687 |
head(grafica_interacciones)
| Arsenico:Tiempo | |
|---|---|
| -:- | 14.63275 |
| +:- | 13.92150 |
| -:+ | 14.82475 |
| +:+ | 14.78900 |
Como se puede observar en las graficas de efectos individuales o de efectos principales, se puede ver que la rapidez de flujo arsénico al 55% de su capacidad llega a generar un grosor de 14.72875 μm, ahora por otro lado un flujo de arsenico 59% de su capacidad puede llegar a generar un grosor de la capa de 14.35525 μm.
Ahora bien, en cuanto al tiempo, un periodo corto de tiempo (10 min) de exposición a los vapores quimicos puede producir un gosor de 14.27712 μm de capa epitaxial, pero un tiempo mas largo (15 min) puede producir un grosor de 14.80687.
Conclusión
Por lo que podemos concluir que entonces un tiempo largo de exposición a los vapores químicos, puede producir un mayor goros de la capa epitaxial, el cual puede ser mayor que un flujo al 59% de capacidad del arsenico, siendo asi que el tiempo es el factor principal.
Para establecer de manera definitiva cuales son los niveles de operación del sistema, es conveniente verificar la significancia tanto de los factores de manera individual como de las interacciones, para tal caso se ejecuta el Análisis de Varianza (ANOVA) correspondiente, mediante la siguiente secuencia de comandos:
anova=aov(modelo)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Arsenico 1 0.558 0.5580 1.226 0.290
## Tiempo 1 1.123 1.1225 2.467 0.142
## Arsenico:Tiempo 1 0.456 0.4563 1.003 0.336
## Residuals 12 5.461 0.4551
Como se observa el el valor p el efecto generado por el flujo del arsenico, da un nivel de significancia de α=0.05, por lo que aceptamos la hispotesis nula. Dado esto se concluye que no existen diferencias significativas entre los groseores producidos por los niveles de, factor de tratamiento considerados para el flujo arsenico.
Ahora bien para el factor tiempo de exposición podemos concluir que no existen diferencias significativas entre los niveles probados para este factpr, y entonces se acepta la hipotesis nula.
Para el caso del modelo estadístico, el resultado obtenido reporta que los coeficientes de regresión dados los datos presentados quedarían representados de la siguiente manera:
\[Grosor_{ij}=14.5420-0.1868Porcentaje_i+0.2649Tiempo_j+0.1689PorcentajeTiempo_{ij}+{\varepsilon_{ij}}\]
Una vez realizado el Análisis de Varianza, es importante verificar las pruebas de adecuación del modelo, para lo cual se efectuarán las siguientes pruebas:
Prueba de Adecuación
Prueba de normalidad de Residuos de Shapiro-Wilk
Para el caso específico de la normalidad, procederemos a utilizar la Prueba de Bondad de Ajuste a la Distribución Normal de Shapiro-Wilks, aunque cabe mencionar que puede utilizarse cualquier otra, como Kolmogorov-Smirnov o Anderson-Darlind, la prueba de Shapiro-Wilks está diseñada específicamente para la Distribución Normal (Montgomery, 2004).
Para realizar esta prueba debemos plantear las siguientes hipótesis de trabajo:
\[H_0:{\chi} \in N(\mu=0,{\alpha^2})= Cosntante\]
\[H_1:{\chi} \notin N(\mu=0,{\alpha^2})= Cosntante\]
La hipótesis nula de la Prueba de Shapiro-Wilks se rechaza cuando Valorp<0.05, siempre es recomendable realizar una gráfica de probabilidad normal para confirmar la prueba de hipótesis, para lo cual utilizaremos la siguiente secuencia de comandos:
normalidad=shapiro.test(resid(modelo))
print(normalidad)
##
## Shapiro-Wilk normality test
##
## data: resid(modelo)
## W = 0.69647, p-value = 0.0001543
#Gráfica de Probabilidad Normal
qqnorm(resid(modelo), main= "Gráfica de probabilidad para los residuales del modelo", xlab="Cuantiles Teoricos", ylab = "Cuantiles de muestra")
qqline(resid(modelo))
Como se observa en la prueba de shapiro-wilk dan evidencia de la falta de normalidad en los residuos y que tambien se observa en la grafica. Entonces podemos decir que existen datos atípicos, mismos que ocasionan que el modelo no sea el adecuado para poder explicar el grosor de la capa epitaxial en funcion del flujo arsénico.
Prueba Igualdad de Varianzas de Bartlett
La Prueba de Homocedasticidad, o de Varianzas Iguales, se realiza mediante la Prueba de Bartlett, misma que para el caso particular, como sólo es significativo el factor de tratamiento, solo se considerará éste para la ejecución de la prueba(Pulido & Vara Salazar, 2012).
La Prueba de Bartlett tiene las siguientes hipótesis:
\[H_0:{\alpha_i^2}={\alpha_j^2}= Constante\]
\[H_1:{\alpha_i^2}\neq{\alpha_j^2}\neq Constante\]
La Prueba de Bartlett se realiza con la siguiente línea de comandos, misma que se efectúa por separado para cada factor
homocestacidad_flujo=bartlett.test(capa~Arsenico, data=datos)
print(homocestacidad_flujo)
##
## Bartlett test of homogeneity of variances
##
## data: capa by Arsenico
## Bartlett's K-squared = 2.0048, df = 1, p-value = 0.1568
homocestacidad_tiempo=bartlett.test(capa~Tiempo, data=datos)
print(homocestacidad_tiempo)
##
## Bartlett test of homogeneity of variances
##
## data: capa by Tiempo
## Bartlett's K-squared = 13.934, df = 1, p-value = 0.0001893
Para que se pueda aceptar la igualdad de varianzas, es necesario que los residuales sean homocedásticos para todos los factores, y en el caso de el factor Tiempo de exposición, se rechaza la hipótesis de igualdad de varianzas.
Dado lo anterior, se concluye que el modelo no es adecuado para explicar los cambios en el grosor de la capa epitaxial en función del flujo de arsénico y el tiempo de exposición al baño químico para las obleas de silicio pulido.
En nuestro modelo se pudo observar que salieron valores atipicos los cuales son Aquellos casos que una, dos o más variables toman valores extremos que difieren del comportamiento del resto de la muestra y hacen sospechar de que han sido genera dos por mecanismos distintos.
Por ultimo un punto atipico se puede resolver dependiendo de diferentes factores, una opcion es eliminarlos para no alterar los resultados,pero no es muy recomendable. Lo que se puede hacer en algunos casos es asignarles menor peso que el resto de los valores.