1 .- Introducción y Fundamentación Matemática

El presente documento detalla el análisis de un experimento diseñado bajo un Diseño de Bloques Completos al Azar (DBCA). El objetivo es evaluar la efectividad de tres marcas de atomizador para matar moscas (expresada en porcentaje de moscas muertas). Dado que las pruebas se realizaron en seis días diferentes, se sospecha que las condiciones de cada día introducen una fuente de variación adicional, por lo que el factor “Día” se ha establecido como un factor de bloque.

1.1 .- Modelo Estadístico

El modelo matemático lineal que describe las observaciones en un DBCA está dado por:

\[Y_{ij} = \mu + \tau_i + \gamma_j + \varepsilon_{ij}\]

Donde: * \(Y_{ij}\): Es la variable de respuesta (efectividad en %) para la marca \(i\) en el día \(j\). * \(\mu\): Es la media global poblacional de la efectividad. * \(\tau_i\): Es el efecto fijo de la \(i\)-ésima marca de atomizador (\(i = 1, 2, 3\)). * \(\gamma_j\): Es el efecto del \(j\)-ésimo bloque o día (\(j = 1, 2, ..., 6\)). * \(\varepsilon_{ij}\): Es el error aleatorio experimental, asumiendo \(\varepsilon_{ij} \sim N(0, \sigma^2)\) e independientes.

1.2 .- Hipótesis a Probar

El análisis de varianza evaluará principalmente la hipótesis sobre el factor de interés (Marcas):

  • Hipótesis Nula (\(H_0\)): \(\tau_1 = \tau_2 = \tau_3 = 0\) (La efectividad media es igual para todas las marcas).
  • Hipótesis Alternativa (\(H_1\)): Al menos un \(\tau_i \neq 0\) (Al menos una marca tiene una efectividad media diferente).

De manera secundaria, se puede evaluar la pertinencia del bloque: * \(H_{0(bloque)}\): \(\gamma_1 = \gamma_2 = \dots = \gamma_6 = 0\) (No hay efecto significativo del día).

2 .- Diseño Experimental (Croquis)

En un DBCA, los tratamientos (Marcas) se asignan de manera aleatoria dentro de cada bloque (Día). A continuación, se genera un croquis representativo de esta aleatorización.

El Tratamiento (Factor de interés): Son las Marcas de atomizador. Es lo que realmente queremos comparar para ver cuál es más efectiva matando moscas.

El Bloque (Variable de control): Son los Días en los que se hicieron las pruebas. Se usan como bloque porque las condiciones de un día a otro (temperatura, humedad, etc.) podrían afectar los resultados, y agruparlos permite aislar ese efecto para no confundirlo con la efectividad real de la marca.

library(ggplot2)
library(dplyr)

set.seed(42) # Semilla para reproducibilidad
bloques <- 1:6
marcas <- c("Marca 1", "Marca 2", "Marca 3")

# Generar aleatorización dentro de cada bloque
croquis_data <- data.frame(
  Dia = rep(bloques, each = 3),
  Orden = rep(1:3, times = 6)
) %>%
  group_by(Dia) %>%
  mutate(Marca = sample(marcas)) %>%
  ungroup()

# Gráfico del croquis
ggplot(croquis_data, aes(x = factor(Dia), y = factor(Orden), fill = Marca, label = Marca)) +
  geom_tile(color = "black", width = 0.9, height = 0.9, size = 0.5) +
  geom_text(color = "white", fontface = "bold") +
  scale_fill_manual(values = c("Marca 1" = "#2980b9", "Marca 2" = "#27ae60", "Marca 3" = "#c0392b")) +
  theme_classic() +
  labs(
    title = "Asignación Aleatoria de Tratamientos por Bloque",
    x = "Bloque (Día)",
    y = "Posición Aleatoria de Prueba"
  ) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
    axis.text = element_text(size = 12),
    axis.title = element_text(face = "bold"),
    legend.position = "none"
  )
Figura 1. Croquis de Aleatorización del DBCA

Figura 1. Croquis de Aleatorización del DBCA

3 .- Preparación de Datos y Análisis Exploratorio

3.1 .- Carga de Paquetes y Datos

Se emplean paquetes estándar para análisis y formato. Los datos corresponden a los porcentajes de efectividad extraídos de la matriz del estudio.

library(car)         # Pruebas de homocedasticidad
library(lmtest)      # Prueba de autocorrelación
library(knitr)
library(kableExtra)
library(broom)

# Creación del conjunto de datos
datos <- data.frame(
  Dia = factor(rep(1:6, times = 3)),
  Marca = factor(rep(c("Marca 1", "Marca 2", "Marca 3"), each = 6)),
  Efectividad = c(72, 55, 64, 65, 59, 74,  # Marca 1
                  67, 68, 61, 75, 70, 58,  # Marca 2
                  62, 53, 51, 73, 50, 69)  # Marca 3
)

3.2 .- Estadística Descriptiva

Previo a la inferencia, se resumen las métricas de tendencia central y dispersión para cada marca.

resumen <- datos %>%
  group_by(Marca) %>%
  summarise(
    `N` = n(),
    `Media (%)` = round(mean(Efectividad), 2),
    `Desv. Est.` = round(sd(Efectividad), 2),
    `Min` = min(Efectividad),
    `Max` = max(Efectividad)
  )

resumen %>%
  kbl(caption = "Tabla 1. Estadística Descriptiva de la Efectividad por Marca", align = "c") %>%
  kable_classic(full_width = FALSE, html_font = "Arial") %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2")
Tabla 1. Estadística Descriptiva de la Efectividad por Marca
Marca N Media (%) Desv. Est. Min Max
Marca 1 6 64.83 7.31 55 74
Marca 2 6 66.50 6.16 58 75
Marca 3 6 59.67 9.83 50 73

4 .- Inferencia Estadística: Análisis de Varianza (ANOVA)

Se ajusta el modelo lineal tomando en cuenta tanto el factor principal como el factor de bloque. Nivel de significancia \(\alpha_\ = 0.05\).

modelo_dbca <- aov(Efectividad ~ Marca + Dia, data = datos)

tabla_anova <- tidy(modelo_dbca) %>%
  mutate(
    p.value = ifelse(p.value < 0.001, "< 0.001", as.character(round(p.value, 4))),
    statistic = round(statistic, 2),
    sumsq = round(sumsq, 2),
    meansq = round(meansq, 2)
  )

colnames(tabla_anova) <- c("Fuente", "GL", "Suma Cuad.", "Cuad. Medios", "Valor F", "Valor p")

tabla_anova %>%
  kbl(caption = "Tabla 2. Tabla de Análisis de Varianza (DBCA)", align = "c") %>%
  kable_classic(full_width = FALSE, html_font = "Arial") %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2") %>%
  footnote(general = "Evaluación simultánea del tratamiento (Marca) y el bloque (Día).")
Tabla 2. Tabla de Análisis de Varianza (DBCA)
Fuente GL Suma Cuad. Cuad. Medios Valor F Valor p
Marca 2 152.33 76.17 1.48 0.2729
Dia 5 426.00 85.20 1.66 0.2317
Residuals 10 513.67 51.37 NA NA
Note:
Evaluación simultánea del tratamiento (Marca) y el bloque (Día).

4.1 .- Discusión de Resultados del Análisis de Varianza (ANOVA)

Con base en los resultados obtenidos en la Tabla 2 correspondientes al Análisis de Varianza del Diseño de Bloques Completos al Azar (DBCA), se plantean las siguientes interpretaciones utilizando un nivel de significancia del 5% (\(\alpha = 0.05\)):

a. Efecto de los Tratamientos (Marcas de Atomizador): El factor principal de interés en el estudio fue la marca del atomizador. El ANOVA arroja un estadístico \(F_{2, 10} = 1.48\) con un valor \(p = 0.2729\). Dado que el valor \(p\) es considerablemente mayor que el nivel de significancia de \(0.05\), no se rechaza la hipótesis nula. Esto indica que no existe evidencia estadística suficiente para afirmar que hay diferencias significativas en la efectividad promedio (porcentaje de moscas muertas) entre las tres marcas de atomizadores evaluadas. Desde un punto de vista práctico, las tres marcas tienen un desempeño estadísticamente similar.

b. Efecto del Bloqueo (Día de experimentación): El factor “Día” fue introducido como bloque para controlar la posible variabilidad ambiental o de ejecución entre las diferentes jornadas. Los resultados muestran un estadístico \(F_{5, 10} = 1.66\) con un valor \(p = 0.2317\). Al ser el valor \(p > 0.05\), se concluye que no hay un efecto significativo del día sobre la efectividad de los atomizadores. Esto sugiere que las condiciones experimentales se mantuvieron lo suficientemente homogéneas durante los seis días, y el bloqueo, aunque metodológicamente correcto por precaución, no logró aislar una fuente de variación significativa en este caso particular.

c. Conclusión General: El análisis concluye que la elección de la marca del atomizador no influye de manera determinante en el porcentaje de moscas muertas bajo las condiciones de este experimento. Asimismo, la variabilidad diaria no fue un factor crítico. Dado que no hay diferencias significativas entre los tratamientos, no es necesario proceder con pruebas de comparaciones múltiples (post-hoc como Tukey), ya que ninguna marca sobresale estadísticamente sobre las demás.

5 .- Verificación de Supuestos del Modelo

La validez del ANOVA paramétrico depende del cumplimiento de los supuestos sobre los residuos del modelo.

5.1 .- Supuesto de Normalidad (Shapiro-Wilk)

residuos <- residuals(modelo_dbca)
shapiro_res <- shapiro.test(residuos)

data.frame(
  `Prueba` = "Shapiro-Wilk",
  `Estadístico W` = round(shapiro_res$statistic, 4),
  `Valor p` = round(shapiro_res$p.value, 4)
) %>%
  kbl(caption = "Tabla 4. Prueba de Normalidad de Residuos", align = "c") %>%
  kable_classic(full_width = FALSE)
Tabla 4. Prueba de Normalidad de Residuos
Prueba Estadístico.W Valor.p
W Shapiro-Wilk 0.9451 0.3541

La prueba de Shapiro-Wilk evalúa la hipótesis nula (\(H_0\)) de que los residuos provienen de una distribución normal. El resultado arroja un estadístico \(W = 0.9451\) con un valor \(p = 0.3541\). Dado que \(p > 0.05\), no se rechaza \(H_0\), concluyendo que los errores se distribuyen de manera normal. Esta conclusión se respalda visualmente mediante el gráfico Q-Q Normal, donde se observa que los puntos (cuantiles muestrales) se ajustan de manera razonable a la línea diagonal de referencia teórica, sin desviaciones severas en las colas.

5.2 .- Supuesto de Homocedasticidad (Igualdad de Varianzas)

Dado que es un diseño con bloques donde solo hay una observación por celda, aplicamos el test de Levene agrupando únicamente por la Marca.

levene_res <- leveneTest(Efectividad ~ Marca, data = datos)
bartlett_res <- bartlett.test(Efectividad ~ Marca, data = datos)

data.frame(
  `Prueba` = c("Levene (Robusta)", "Bartlett (Sensible a Normalidad)"),
  `Estadístico` = c(round(levene_res$`F value`[1], 4), round(bartlett_res$statistic, 4)),
  `Valor p` = c(round(levene_res$`Pr(>F)`[1], 4), round(bartlett_res$p.value, 4))
) %>%
  kbl(caption = "Tabla 5. Pruebas de Homocedasticidad", align = "c") %>%
  kable_classic(full_width = FALSE)
Tabla 5. Pruebas de Homocedasticidad
Prueba Estadístico Valor.p
Levene (Robusta) 1.3963 0.2779
Bartlett’s K-squared Bartlett (Sensible a Normalidad) 1.0516 0.5911

Se evaluó la homogeneidad de varianzas entre los diferentes niveles del tratamiento (Marcas) utilizando las pruebas de Levene y Bartlett. Ambas pruebas evalúan la \(H_0\) de que las varianzas son iguales. Los resultados muestran un valor \(p = 0.2779\) para la prueba robusta de Levene y \(p = 0.5911\) para Bartlett. En ambos casos, al ser \(p > 0.05\), no se rechaza \(H_0\), confirmando que existe homocedasticidad. En el gráfico de Residuos vs. Valores Ajustados, esto se verifica al observar que la nube de puntos se dispersa de forma aleatoria alrededor de la línea horizontal (cero), sin mostrar patrones en forma de embudo o abanico que sugerirían varianzas heterogéneas.

5.3 .- Supuesto de Independencia (Durbin-Watson)

dw_res <- dwtest(modelo_dbca)

data.frame(
  `Prueba` = "Durbin-Watson",
  `Estadístico DW` = round(dw_res$statistic, 4),
  `Valor p` = round(dw_res$p.value, 4)
) %>%
  kbl(caption = "Tabla 6. Prueba de Autocorrelación de Errores", align = "c") %>%
  kable_classic(full_width = FALSE)
Tabla 6. Prueba de Autocorrelación de Errores
Prueba Estadístico.DW Valor.p
DW Durbin-Watson 2.8951 0.9125

Para evaluar si existe autocorrelación entre los residuos (es decir, si un error afecta al siguiente), se aplicó la prueba de Durbin-Watson. La prueba arrojó un estadístico \(DW = 2.8951\) con un valor \(p = 0.9125\). Al ser el valor \(p\) muy superior a \(0.05\), no se rechaza \(H_0\), lo que indica que no hay evidencia de autocorrelación. Por lo tanto, se asume que los residuos son independientes.

5.4 .- Diagnóstico Visual de Residuos

par(mfrow = c(1, 2), mar = c(4, 4, 2, 1))

# Residuos vs Ajustados
plot(fitted(modelo_dbca), residuos, 
     pch = 19, col = "#2c3e50",
     main = "Residuos vs. Valores Ajustados",
     xlab = "Valores Ajustados", ylab = "Residuos")
abline(h = 0, lty = 2, col = "#c0392b", lwd = 2)

# QQ Plot
qqnorm(residuos, pch = 19, col = "#2c3e50", main = "Gráfico Q-Q Normal")
qqline(residuos, col = "#c0392b", lwd = 2)
Figura 2. Diagnóstico Gráfico de los Residuos

Figura 2. Diagnóstico Gráfico de los Residuos

par(mfrow = c(1, 1))

6 .- Conclusión Final del Estudio

La investigación concluye de manera definitiva con el Análisis de Varianza (ANOVA). Se ha demostrado estadísticamente que los datos experimentales cumplen a cabalidad con los supuestos teóricos fundamentales (normalidad, homocedasticidad e independencia de los residuos). Por consiguiente:

  • Validez del Modelo Paramétrico: Al cumplirse los supuestos, el ANOVA es la prueba idónea y más robusta para este conjunto de datos. No es aplicable ni metodológicamente justificado realizar pruebas no paramétricas (como la prueba de Friedman o Kruskal-Wallis), ya que estas se reservan exclusivamente para casos donde se violan las condiciones de las pruebas paramétricas.

  • Igualdad de Tratamientos: El ANOVA demostró que no existe evidencia estadística (\(p = 0.2729 > 0.05\)) para afirmar que una marca de atomizador es superior a otra. En términos prácticos, las tres marcas ofrecen el mismo nivel de efectividad para la eliminación de moscas. Asimismo, el factor de bloqueo (Día) no influyó significativamente en los resultados (\(p = 0.2317 > 0.05\)).

  • Omisión de Pruebas Post-Hoc: Dado que el ANOVA concluyó en la aceptación de la hipótesis nula (igualdad de medias), no es aplicable proceder con pruebas de comparaciones múltiples post-hoc (como la prueba de Tukey, Duncan o Bonferroni). Estas pruebas están diseñadas para identificar dónde radican las diferencias únicamente después de que el ANOVA ha detectado que dichas diferencias existen.

En resumen, bajo las condiciones evaluadas, el consumidor puede elegir cualquiera de las tres marcas de atomizador indistintamente, ya que su desempeño es estadísticamente equivalente.