Instalacion de paquetes.
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE)
# Descomenta las siguientes líneas si aún no tienes instalados los paquetes en tu R
# install.packages("car")
# install.packages("ggplot2")
# install.packages("GLMsData")
# install.packages("lmtest")
# install.packages("agricolae")
library(car)## Loading required package: carData
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
DATOS
corrida <- 1:20
temperatura <- c(180, 220, 180, 180, 220, 220, 200, 200, 220, 180,
200, 200, 180, 240, 240, 220, 240, 240, 200, 240)
espesor <- c(113.9, 134.0, 114.0, 112.8, 143.9, 136.8, 131.0, 129.2, 140.5, 116.9,
129.4, 125.3, 111.1, 149.1, 140.8, 141.0, 136.3, 144.4, 122.6, 139.3)
# Creamos el dataframe
datos <- data.frame(Corrida = corrida, Temperatura = factor(temperatura), Espesor = espesor)Factor: La temperatura de extrusión. Niveles: hay 4 niveles los cuales son: (\(180\), \(200\), \(220\) y \(240\) °C) Variable r: El espesor de la película plástica medido en micrómetros Réplicas: 5 réplicas por cada tratamiento (para un total de 20 corridas experimentales). Unidad experimental: Cada corrida individual realizada en la misma extrusora bajo una condición de temperatura asignada aleatoriamente Justificación del efecto fijo: Se trata de un diseño de efectos fijos porque los niveles de temperatura no se tomaron al azar de una población de temperaturas posibles, sino que el ingeniero de procesos seleccionó deliberadamente esos cuatro valores específicos (\(180, 200, 220 \text{ y } 240\) °C)
El modelo estadístico lineal aditivo es:\[y_{ij} = \mu + \tau_i + \epsilon_{ij}\] Donde: \(y_{ij}\): Observación de la respuesta (espesor) en la \(j\)-ésima réplica del \(i\)-ésimo tratamiento (temperatura).
\(\mu\): Media global del proceso. \(\tau_i\): Efecto del \(i\)-ésimo tratamiento (temperatura). \(\epsilon_{ij}\): Error aleatorio experimental, distribuido normalmente e independientemente con media cero y varianza \(\sigma^2\) (\(\epsilon_{ij} \sim N(0, \sigma^2)\)). Hipotesis: Hipótesis nula (\(H_0\)): No hay diferencia en el espesor medio de la película plástica entre las diferentes temperaturas de extrusión. \[\tau_1 = \tau_2 = \tau_3 = \tau_4 = 0 \quad (\mu_1 = \mu_2 = \mu_3 = \mu_4)\] Hipótesis alternativa (\(H_1\)): Al menos una temperatura produce un espesor medio diferente al de las demás.\[\tau_i \neq 0 \text{ para al menos un } i\]
library(dplyr)
resumen <- datos %>%
group_by(Temperatura) %>%
summarise(
n = n(),
Media = mean(Espesor),
Desv_Est = sd(Espesor),
Suma = sum(Espesor)
)
media_global <- mean(datos$Espesor)
suma_global <- sum(datos$Espesor)
n_global <- nrow(datos)
kable(resumen, digits = 4, caption = "Estadísticos descriptivos por nivel de temperatura")| Temperatura | n | Media | Desv_Est | Suma |
|---|---|---|---|---|
| 180 | 5 | 113.74 | 2.1173 | 568.7 |
| 200 | 5 | 127.50 | 3.4496 | 637.5 |
| 220 | 5 | 139.24 | 3.8669 | 696.2 |
| 240 | 5 | 141.98 | 4.9343 | 709.9 |
cat(sprintf("Media global: %.4f | Suma global: %.4f | N total: %d\n", media_global, suma_global, n_global))## Media global: 130.6150 | Suma global: 2612.3000 | N total: 20
Interpretación: Se puede observar que, al aumentar la temperatura de extrusión, también aumenta la media del espesor. La media pasa de 113.7400 micrómetros a una temperatura de 180 °C, a 141.9800 micrómetros a 240 °C. En cuanto a la desviación estándar, los valores se encuentran entre 2.1173 y 4.9343 micrómetros, lo que indica que la variabilidad dentro de los grupos no es muy alta. Finalmente, la media general de todos los datos del experimento es de 130.6150 micrómetros.
modelo_aov <- aov(Espesor ~ Temperatura, data = datos)
tabla_anova <- summary(modelo_aov)
print(tabla_anova)## Df Sum Sq Mean Sq F value Pr(>F)
## Temperatura 3 2490.1 830.0 59.63 6.64e-09 ***
## Residuals 16 222.7 13.9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: La tabla ANOVA muestra un estadístico F calculado de 59.6259 y un valor p de < 1e-04. Como el valor p es menor que el nivel de significancia de 0.05 (p < 0.0001), se rechaza la hipótesis nula (H₀). Por lo tanto, se puede concluir que existe evidencia estadística suficiente para afirmar que la temperatura de extrusión tiene un efecto significativo sobre el espesor de la película plástica.
# Varianza residual (sigma^2)
mse <- anova_df$`Mean Sq`[2]
sp <- sqrt(mse)
# Efectos estimados ti = media_i - media_global
medias_tratamiento <- tapply(datos$Espesor, datos$Temperatura, mean)
efectos <- medias_tratamiento - media_global
cat(sprintf("Estimador de la varianza residual (sigma^2): %.4f\n", mse))## Estimador de la varianza residual (sigma^2): 13.9207
## Desviación estándar ponderada (sp): 3.7311
##
## Efectos estimados (ti):
## 180 200 220 240
## -16.875 -3.115 8.625 11.365
Interpretación: Los intervalos de confianza del 95% muestran el rango en el que se espera que se encuentre la verdadera media del espesor para cada temperatura. Por ejemplo, para una temperatura de 240 °C, la media real del espesor se encuentra entre 138.4438 µm y 145.5162 µm, con un nivel de confianza del 95%. Además, se puede observar que los intervalos de las temperaturas de 180 °C y 240 °C no se superponen, lo que indica que existen diferencias entre las medias de estas temperaturas. #6
gl_error <- anova_df$Df[2]
t_crit <- qt(0.975, df = gl_error)
ic_df <- resumen %>%
mutate(
Error_Est = Desv_Est / sqrt(n),
Limite_Inferior = Media - t_crit * Error_Est,
Limite_Superior = Media + t_crit * Error_Est
)
kable(ic_df %>% select(Temperatura, Media, Limite_Inferior, Limite_Superior), digits = 4, caption = "Intervalos de confianza del 95%")| Temperatura | Media | Limite_Inferior | Limite_Superior |
|---|---|---|---|
| 180 | 113.74 | 111.7327 | 115.7473 |
| 200 | 127.50 | 124.2296 | 130.7704 |
| 220 | 139.24 | 135.5740 | 142.9060 |
| 240 | 141.98 | 137.3021 | 146.6579 |
medias_df <- data.frame(
Temperatura = levels(datos$Temperatura),
Media = tapply(datos$Espesor, datos$Temperatura, mean)
)
medias_df$Temperatura <- as.numeric(as.character(medias_df$Temperatura))
ggplot(medias_df, aes(x = Temperatura, y = Media)) +
geom_line(color = "steelblue", linewidth = 1.2) +
geom_point(size = 3.5, color = "darkblue") +
geom_hline(yintercept = media_global, linetype = "dashed", color = "red", linewidth = 1) +
annotate("text", x = 190, y = media_global + 2, label = paste("Media Global =", round(media_global, 2)), color = "red") +
labs(title = "Gráfica de Efectos Principales",
subtitle = "Espesor medio vs. Temperatura de extrusión",
x = "Temperatura (°C)", y = "Espesor Promedio (µm)") +
theme_minimal()Interpretación: La gráfica muestra una relación positiva y casi lineal entre la temperatura de extrusión y el espesor de la película. A medida que aumenta la temperatura, también aumenta el espesor promedio de forma constante. La línea roja discontinua representa la media general, que es de 130.6150 µm. Se puede observar que las temperaturas de 180 °C y 200 °C se encuentran por debajo de esta media, mientras que las temperaturas de 220 °C y 240 °C se encuentran por encima.
ggplot(ic_df, aes(x = Temperatura, y = Media)) +
geom_pointrange(aes(ymin = Limite_Inferior, ymax = Limite_Superior), color = "darkblue", size = 0.8) +
geom_hline(yintercept = media_global, linetype = "dashed", color = "red") +
labs(title = "Intervalos de Confianza del 95% para el Espesor",
x = "Temperatura (°C)", y = "Espesor Medio y IC 95%") +
theme_minimal()Interpretación:
Al revisar el traslape de los intervalos, se puede observar que los intervalos correspondientes a las temperaturas de 180 °C y 200 °C no se superponen con los de 220 °C y 240 °C. Por otro lado, sí se presenta un pequeño traslape entre 180 °C y 200 °C, y también entre 220 °C y 240 °C.
Coherencia con el ANOVA: Este comportamiento es coherente con los resultados obtenidos en la tabla ANOVA, donde se encontraron diferencias significativas entre las temperaturas. Sin embargo, para conocer exactamente entre qué temperaturas existen diferencias significativas, es necesario realizar las pruebas de comparaciones múltiples.
GRAFICAS
par(mfrow = c(2, 2))
# 1. Normal Q-Q plot
qqnorm(datos$residuales, main = "a) Q-Q Normal de Residuales")
qqline(datos$residuales, col = "red", lwd = 2)
# 2. Residuales vs Ajustados
plot(datos$ajustados, datos$residuales, main = "b) Residuales vs Ajustados",
xlab = "Valores Ajustados", ylab = "Residuales")
abline(h = 0, lty = 2, col = "red")
# 3. Histograma de residuales
hist(datos$residuales, main = "c) Histograma de Residuales", xlab = "Residuales", col = "lightblue", border = "white")
# 4. Residuales vs Orden de ejecución
plot(datos$Corrida, datos$residuales, main = "d) Residuales vs Orden",
xlab = "Orden de Corrida", ylab = "Residuales", type = "b")
abline(h = 0, lty = 2, col = "red")Interpretación de las gráficas:
*a) Gráfica de probabilidad normal: Los puntos siguen de forma aproximada la línea diagonal, por lo que se puede considerar que los errores presentan un comportamiento cercano a una distribución normal.
*b) Residuales vs. valores ajustados: Los puntos se encuentran distribuidos alrededor de cero y no se observa un patrón claro ni una forma de embudo. Esto indica que las varianzas son aproximadamente iguales.
*c) Histograma de residuales: El histograma presenta una forma aproximadamente acampanada y simétrica, lo que apoya el supuesto de normalidad de los errores.
*d) Residuales vs. orden de ejecución: Los residuales no presentan una tendencia o patrón definido a medida que avanza el orden de las observaciones. Por lo tanto, se considera que los errores son independientes.
# Prueba de normalidad Shapiro-Wilk
shapiro_test <- shapiro.test(datos$residuales)
print(shapiro_test)##
## Shapiro-Wilk normality test
##
## data: datos$residuales
## W = 0.97588, p-value = 0.8707
# Prueba de homocedasticidad Levene
levene_test <- leveneTest(Espesor ~ Temperatura, data = datos)
print(levene_test)## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 3 0.6104 0.618
## 16
Prueba de Shapiro-Wilk: Se obtiene un valor p mayor a 0.05, por lo que no se rechaza la hipótesis de normalidad. Esto indica que los errores presentan una distribución aproximadamente normal.
Prueba de Levene: Se obtiene un valor p mayor a 0.05, por lo que no se rechaza la hipótesis de igualdad de varianzas. Esto indica que se cumple el supuesto de homogeneidad de varianzas entre los tratamientos.
## $statistics
## MSerror Df Mean CV MSD
## 13.92075 16 130.615 2.856527 6.751219
##
## $parameters
## test name.t ntr StudentizedRange alpha
## Tukey Temperatura 4 4.046093 0.05
##
## $means
## Espesor std r se Min Max Q25 Q50 Q75
## 180 113.74 2.117310 5 1.668577 111.1 116.9 112.8 113.9 114.0
## 200 127.50 3.449638 5 1.668577 122.6 131.0 125.3 129.2 129.4
## 220 139.24 3.866911 5 1.668577 134.0 143.9 136.8 140.5 141.0
## 240 141.98 4.934268 5 1.668577 136.3 149.1 139.3 140.8 144.4
##
## $comparison
## NULL
##
## $groups
## Espesor groups
## 240 141.98 a
## 220 139.24 a
## 200 127.50 b
## 180 113.74 c
##
## attr(,"class")
## [1] "group"
Interpretación:
La prueba de Tukey, utilizando un nivel de significancia de 0.05, permite agrupar las temperaturas por las diferencias entre sus medias:
Grupo a (240 °C): presenta una media de 141.9800 µm y no presenta una diferencia significativa con 220 °C. Grupo ab (220 °C): presenta una media de 139.2400 µm y comparte grupo con 240 °C, por lo que no hay una diferencia significativa entre estas dos temperaturas. Grupo b (200 °C): presenta una media de 127.5000 µm y presenta diferencias significativas con las temperaturas más altas. Grupo c (180 °C): presenta una media de 113.7400 µm y presenta diferencias significativas con las demás temperaturas.
En general, los resultados muestran que las temperaturas más altas tienden a producir un mayor espesor de la película.
Para elegir la temperatura más adecuada para el proceso se tuvo en cuenta que el espesor de la película debe ser de mínimo 138 µm. También se consideró el consumo de energía, ya que trabajar con temperaturas más altas puede aumentar los costos del proceso.
Al revisar los resultados, las temperaturas de 180 °C y 200 °C no son una buena opción, ya que presentaron medias de 113.74 µm y 127.50 µm, respectivamente. En ambos casos el espesor está por debajo de lo requerido, por lo que no cumplen con la condición establecida para el producto.
Por otro lado, a 220 °C se obtuvo una media de 139.24 µm y a 240 °C una media de 141.98 µm. Las dos temperaturas cumplen con el mínimo de 138 µm. Sin embargo, la prueba de Tukey muestra que entre estas dos temperaturas no existe una diferencia estadísticamente significativa. Esto indica que el aumento de 220 °C a 240 °C no genera un cambio suficientemente grande en el espesor como para considerarlo una diferencia real en el proceso.
Teniendo esto en cuenta, no sería necesario utilizar 240 °C solamente para obtener un promedio un poco mayor, especialmente si esto implica un mayor consumo de energía. Por esta razón, la temperatura de 220 °C resulta ser la alternativa más conveniente, ya que permite cumplir con el espesor requerido y mantener una temperatura de trabajo menor.
En conclusión, se recomienda utilizar 220 °C, porque cumple con la especificación del producto y, según la prueba de Tukey, proporciona un resultado estadísticamente similar al de 240 °C, sin tener que trabajar a una temperatura más alta de la necesaria.