Excelente. Te organizo la SESIÓN 2 — SUPUESTOS Y PRUEBAS POST HOC con la misma lógica pedagógica, lista para diapositivas, con énfasis conceptual + interpretación + implementación en R y Python, alineada con tu documento .


🎓 SESIÓN 2 — SUPUESTOS Y PRUEBAS POST HOC (DCA)

🎯 Objetivo de la sesión

Comprender que:

  • El ANOVA solo es válido si se cumplen supuestos
  • Cuando se detectan diferencias → se necesita post hoc
  • La interpretación debe ser estadística + ingenieril

📊 ESTRUCTURA DE LAS DIAPOSITIVAS


🟦 DIAPOSITIVA 1 — Pregunta central

Título:

👉 ¿Cuándo podemos confiar en el ANOVA?

Contenido:

  • Ya sabemos que hay diferencias
  • Pero…

❗ ¿El modelo es válido? ❗ ¿Qué tratamiento es mejor?


🟦 DIAPOSITIVA 2 — Supuestos del ANOVA

Tres pilares fundamentales:

  1. Independencia
  2. Normalidad de residuos
  3. Homogeneidad de varianzas

🟦 DIAPOSITIVA 3 — Interpretación conceptual

Supuesto Significado
Independencia Observaciones no relacionadas
Normalidad Error ~ distribución normal
Homogeneidad Varianzas iguales

🟦 DIAPOSITIVA 4 — Idea clave

🔴 ANOVA es robusto… pero no infalible

👉 Si los supuestos fallan:

  • Los resultados pueden ser engañosos

🟦 DIAPOSITIVA 5 — ¿Qué ocurre si se violan supuestos?

⚠️ Consecuencias:

  • F pierde validez
  • p-valor puede ser incorrecto
  • Decisiones erróneas

🟦 DIAPOSITIVA 6 — Alternativas posibles

Problema Solución
No normalidad Transformaciones (log, raíz)
Varianzas desiguales ANOVA robusto / Welch
Datos extremos Métodos no paramétricos (Kruskal-Wallis)

🟦 DIAPOSITIVA 7 — Verificación de supuestos

Herramientas:

  • Shapiro-Wilk → normalidad
  • Bartlett / Levene → varianzas
  • Gráficos de residuos

🟦 DIAPOSITIVA 8 — Limitación del ANOVA

ANOVA solo dice:

👉 “Existe diferencia”

NO dice:

👉 “Entre cuáles tratamientos”


🟦 DIAPOSITIVA 9 — Pruebas Post Hoc

Objetivo: Comparar pares de tratamientos

Ejemplo:

  • A vs B
  • A vs C
  • B vs C

🟦 DIAPOSITIVA 10 — Tukey HSD

Características:

  • Controla error tipo I
  • Comparación múltiple
  • Muy usado en ingeniería

🟦 DIAPOSITIVA 11 — Interpretación de resultados

✔ Diferencias significativas

  • Si intervalo NO contiene 0

✔ Intervalos de confianza

  • Magnitud de la diferencia

✔ Decisión técnica

  • ¿Cuál tratamiento es mejor?

🟦 DIAPOSITIVA 12 — Cierre conceptual

🔴 Estadística ≠ decisión ingenieril

👉 La estadística guía 👉 La ingeniería decide


🌱 EJEMPLO 1 — INGENIERÍA AGRÍCOLA (SECADO)

Contexto

Comparar 3 temperaturas en secado de granos


🧪 IMPLEMENTACIÓN EN R

📌 Código completo

```r id=“d2y2sh” # ========================================== # ANOVA + SUPUESTOS + TUKEY (Secado) # ==========================================

Datos simulados

tratamiento <- factor(rep(c(“Baja”, “Media”, “Alta”), each=10))

rendimiento <- c( rnorm(10, 20, 2), rnorm(10, 18, 2), rnorm(10, 15, 2) )

datos <- data.frame(tratamiento, rendimiento)

Modelo ANOVA

modelo <- aov(rendimiento ~ tratamiento, data=datos)

==========================================

1. VERIFICACIÓN DE SUPUESTOS

==========================================

res <- residuals(modelo)

Normalidad

shapiro.test(res)

Homogeneidad

bartlett.test(rendimiento ~ tratamiento, data=datos)

Gráficos

plot(modelo)

==========================================

2. PRUEBA POST HOC (Tukey)

==========================================

tukey <- TukeyHSD(modelo)

print(tukey)


---

## 📖 Explicación

### 🔹 Supuestos

* `residuals(modelo)` → errores del modelo
* Shapiro → normalidad
* Bartlett → igualdad de varianzas

---

## 📊 Interpretación

### ✔ Si Shapiro p > 0.05

→ residuos normales

### ✔ Si Bartlett p > 0.05

→ varianzas iguales

---

## 📊 Interpretación Tukey

Salida:

```r id="3k7zyy"
diff   lwr   upr   p adj
Media-Baja  -2.1 -3.5 -0.8  0.002
Alta-Baja   -5.0 -6.4 -3.6  0.000
Alta-Media  -2.9 -4.3 -1.5  0.001

✔ Conclusión:

  • Todos los tratamientos difieren
  • Temperatura alta reduce humedad significativamente

👉 Decisión ingenieril: Seleccionar temperatura óptima considerando costo


🏭 EJEMPLO 2 — AGROINDUSTRIA (PROCESAMIENTO)


🐍 IMPLEMENTACIÓN EN PYTHON

📌 Código completo

```python id=“1a0eai” # ========================================== # ANOVA + SUPUESTOS + TUKEY # ==========================================

import numpy as np import pandas as pd import statsmodels.api as sm from statsmodels.formula.api import ols from scipy import stats from statsmodels.stats.multicomp import pairwise_tukeyhsd

Datos simulados

np.random.seed(123)

tratamiento = np.repeat([‘A’,‘B’,‘C’], 10)

rendimiento = np.concatenate([ np.random.normal(80, 3, 10), np.random.normal(78, 3, 10), np.random.normal(72, 3, 10)])

df = pd.DataFrame({ ‘tratamiento’: tratamiento, ‘rendimiento’: rendimiento })

Modelo

modelo = ols(‘rendimiento ~ C(tratamiento)’, data=df).fit()

==========================================

1. SUPUESTOS

==========================================

Normalidad

print(stats.shapiro(modelo.resid))

Homogeneidad (Levene)

grupo_A = df[df[‘tratamiento’]==‘A’][‘rendimiento’] grupo_B = df[df[‘tratamiento’]==‘B’][‘rendimiento’] grupo_C = df[df[‘tratamiento’]==‘C’][‘rendimiento’]

print(stats.levene(grupo_A, grupo_B, grupo_C))

==========================================

2. TUKEY

==========================================

tukey = pairwise_tukeyhsd( df[‘rendimiento’], df[‘tratamiento’], alpha=0.05 )

print(tukey)


---

## 📖 Explicación

### 🔹 Normalidad

* `stats.shapiro` → residuos

### 🔹 Homogeneidad

* `levene` → más robusto que Bartlett

---

## 📊 Interpretación Tukey

Salida típica:

group1 group2 meandiff p-adj lower upper reject A B -2.0 0.04 -3.8 -0.2 True A C -8.0 0.000 -9.8 -6.2 True B C -6.0 0.001 -7.8 -4.2 True ```


✔ Interpretación

  • reject = True → diferencia significativa
  • Intervalo NO contiene 0 → significativo

✔ Decisión técnica

  • Método C produce menor rendimiento
  • Método A es mejor

👉 Evaluar costo, energía, tiempo


🔴 DIAPOSITIVA FINAL (CIERRE)

MENSAJE CLAVE

ANOVA detecta diferencias Tukey identifica dónde están