Inicio › Temas › Estadística
📊 Estadística nivel avanzado
Contraste de hipótesis y prueba t
Hipótesis nula, estadístico t, valor p y los dos tipos de error al decidir con datos.
🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)
La idea
Un contraste de hipótesis es un procedimiento para decidir, con datos, entre dos afirmaciones. La hipótesis nula H₀ representa el «no pasa nada»: el fármaco no tiene efecto, las dos máquinas producen igual. La hipótesis alternativa H₁ es lo que queremos demostrar. El razonamiento es por contradicción: suponemos H₀ cierta, calculamos cuán raro sería observar unos datos como los nuestros y, si resultan demasiado raros, rechazamos H₀.
Para comparar dos medias se usa el estadístico t: la diferencia de medias muestrales dividida por su error estándar. Mide la diferencia en «unidades de ruido»; un |t| grande dice que la diferencia observada es mucho mayor de lo que el azar produciría. Bajo H₀, t sigue la distribución t de Student con ciertos grados de libertad (la fórmula de Welch los ajusta cuando las varianzas difieren), y el valor p es la probabilidad de obtener un |t| tan grande o más suponiendo H₀. Se compara con el nivel de significación α, típicamente 0,05: si p < α se rechaza H₀ y el resultado se llama estadísticamente significativo.
Toda decisión puede fallar de dos maneras. El error de tipo I es rechazar una H₀ verdadera (un falso positivo) y su probabilidad es exactamente α. El error de tipo II es no rechazar una H₀ falsa (falso negativo), con probabilidad β; la potencia 1 − β es la capacidad del contraste para detectar efectos reales y crece con el tamaño muestral y con la magnitud del efecto. Reducir α sin aumentar n eleva β: no hay decisiones gratis, solo compromisos.
Fórmulas clave
- HipótesisH₀: μ₁ = μ₂ frente a H₁: μ₁ ≠ μ₂
- Estadístico t (Welch)t = (x̄₁ − x̄₂) / √(s₁²/n₁ + s₂²/n₂)
- Grados de libertad (Welch)ν = (s₁²/n₁ + s₂²/n₂)² / [(s₁²/n₁)²/(n₁−1) + (s₂²/n₂)²/(n₂−1)]
- Valor p bilateralp = 2 · P(T_ν ≥ |t|)
- Regla de decisiónp < α ⇔ |t| > t_{ν, α/2} ⇒ rechazar H₀
- Erroresα = P(rechazar H₀ | H₀ cierta), β = P(no rechazar H₀ | H₀ falsa)
Dónde se aplica
Los ensayos clínicos comparan la mejoría media del grupo tratado con la del grupo placebo mediante una prueba t, y las agencias reguladoras exigen p < 0,05 (y a menudo replicación) para aprobar un medicamento. En la industria, se contrasta si un cambio en el proceso ha reducido el tiempo medio de fabricación antes de generalizarlo. En tecnología, las pruebas A/B de una web comparan el tiempo medio de sesión o el gasto medio entre dos diseños; la potencia del contraste determina cuántos usuarios hay que exponer al experimento antes de decidir.
Con programación (Python)
import math
A = [5.1, 4.9, 5.6, 5.8, 6.0, 5.4] # grupo tratado
B = [4.5, 4.7, 5.0, 4.4, 4.8, 4.6] # grupo control
def media(d): return sum(d) / len(d)
def var_m(d):
m = media(d)
return sum((x - m) ** 2 for x in d) / (len(d) - 1)
ma, mb, va, vb, na, nb = media(A), media(B), var_m(A), var_m(B), len(A), len(B)
t = (ma - mb) / math.sqrt(va / na + vb / nb)
gl = (va / na + vb / nb) ** 2 / ((va / na) ** 2 / (na - 1) + (vb / nb) ** 2 / (nb - 1))
def p_valor(t, gl):
# Densidad t sin constante, integrada con Simpson; p bilateral = cola / total
f = lambda x: (1 + x * x / gl) ** (-(gl + 1) / 2)
def simpson(a, b, n=20000):
h = (b - a) / n
return h / 3 * (f(a) + f(b) + sum(f(a + i * h) * (4 if i % 2 else 2) for i in range(1, n)))
return simpson(abs(t), 200) / simpson(0, 200)
p = p_valor(t, gl)
print(f"Medias: {ma:.3f} vs {mb:.3f} t = {t:.3f} gl = {gl:.2f}")
print(f"valor p (bilateral) = {p:.5f}")
print("Se rechaza H0 al 5 %" if p < 0.05 else "No se rechaza H0 al 5 %")La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.
Temas relacionados
Intervalos de confianza · Distribución normal · Test chi-cuadrado