En la estadística inferencial, cualquier experimento o investigación se basa en el planteamiento de dos hipótesis mutuamente excluyentes. Esto significa que ambas no pueden ser verdaderas al mismo tiempo: si una es correcta, la otra es falsa.
Hipótesis Nula (\(H_0\)): Es la hipótesis de partida, la “neutra”. Representa el statu quo: afirma que no hay cambios, no hay diferencias, o que todo se debe al azar.
Hipótesis Alternativa (\(H_1\) o \(H_a\)): Es la hipótesis del investigador. Afirma que sí hay un efecto real, una diferencia significativa o una relación entre las variables.
Cuando realizamos un experimento, nuestro objetivo principal es intentar rechazarla Hipótesis Nula (\(H_0\)).Si los datos aportan suficiente evidencia en contra de la hipótesis nula, la rechazamos. Automáticamente, damos por válida la Hipótesis Alternativa (\(H_1\)). Que no tengamos pruebas suficientes para descartar la Hipótesis Nula no significa que la hayamos demostrado como verdadera.
En un juicio:
La Hipótesis Nula (\(H_0\)) es que el acusado es inocente.
La Hipótesis Alternativa (\(H_1\)) es que el acusado es culpable.
El fiscal busca pruebas para descartar la inocencia (\(H_0\)). Si encuentra pruebas, el juez declara al acusado culpable (\(H_1\)). Pero si las pruebas no son suficientes, el veredicto del juez no es “es inocente”, sino “no culpable”. El acusado vuelve a la calle no porque se haya demostrado su inocencia, sino porque las pruebas para condenarlo no fueron suficientes.
La Hipótesis Nula (\(H_0\)) representa la normalidad, lo establecido etc… La Hipótesis Alternativa (\(H_a\)) es la novedad, la sospecha o el cambio. En un detecto de correos spam, lo normal es que un correo sea legítimo por eso la hipótesis nula será que el legitimo, mientras que la altenativoa que es spam.
2 Errores Tipo I y Tipo II
Cuando realizamos un contraste de hipótesis, nuestro objetivo es alcanzar la verdad, pero la estadística trabaja con muestras, no con poblaciones completas. Al extraer una muestra, introducemos una aleatoriedad inevitable (error de muestreo) que nos impide lograr una certeza del 100%. Por tanto, siempre asumimos el riesgo de cometer uno de los siguientes dos errores:
Error Tipo I: El Falso Positivo (\(\alpha\)): El Error Tipo I ocurre cuando los datos de la muestra son tan inusuales que nos llevan a rechazar la Hipótesis Nula (\(H_0\)) cuando, en realidad, era verdadera.
Error Tipo II: El Falso Negativo (\(\beta\)): El Error Tipo II ocurre cuando la muestra no muestra suficiente evidencia de cambio y decidimos no rechazar la Hipótesis Nula (\(H_0\)) cuando, en realidad, era falsa.
Si fijamos \(\alpha = 0\), significa que no estamos dispuestos a asumir ningún riesgo de cometer un Error Tipo I (Falso Positivo). Para asegurar un riesgo cero, el sistema nunca rechazará la Hipótesis Nula (\(H_0\)), sin importar cuánta evidencia en contra aporten los datos.
Si fijamos \(\alpha = 1\), significa que nos da exactamente igual cometer un Error Tipo I. No exigimos ninguna evidencia para cambiar nuestra postura por defecto. El sistema siempre rechazará la Hipótesis Nula (\(H_0\)), independientemente de lo que diga la muestra.
El estándar científico e industrial universal es fijar \(\alpha = 0.05\) (un nivel de confianza del 95%). Significa en el caso de analizar spam que si analizamos una cantidad masiva de correos que realmente son legítimos (\(H_0\) verdadera), estamos dispuestos a tolerar que el filtro se equivoque y bloquee, como máximo, el 5% de ellos a largo plazo. Si intentas blindar tu experimento bajando el error de Tipo I (por ejemplo, pasando de un \(\alpha\) del 5% a uno más exigente del 1%), la consecuencia directa e inevitable es que el sistema se volverá menos sensible, aumentando la probabilidad de cometer un error de Tipo II (\(\beta\)).
3 Test de cola
Las hipótesis siempre se formulan en términos de la población, nunca de la muestra. La idea es que la hipótesis nula (\(H_0\)) está asociada a lo habitual, a que no hay un cambio, mientras que la hipótesis alternativa (\(H_a\)) se asocia al cambio. Existen tres tipos de cambios diferentes según la sospecha de la investigación:
Contraste de cola derecha (unilateral superior): El valor poblacional ha aumentado. Por ejemplo, sospechamos que un nuevo modelo de bombilla dura más que la media habitual.
Contraste de cola izquierda (unilateral inferior): El valor poblacional ha disminuido. Por ejemplo, sospechamos que una bombilla defectuosa dura menos que la media habitual.
Contraste bilateral (de dos colas): El valor poblacional simplemente ha cambiado, sin importar si ha aumentado o disminuido (solo queremos ver si es diferente).
El p-valor indica cuán probable es obtener un resultado como el observado en la muestra (o todavía más extremo) si la hipótesis nula fuera cierta.
\[\text{p-valor} = P(\text{Muestra Extrema} \mid H_0 \text{ es cierta})\]
Un p-valor grande significa que obtener esa muestra es algo normal y probable; por tanto, no se rechaza la hipótesis nula.Un p-valor pequeño significa que esa muestra es muy rara de obtener si la hipótesis nula es cierta. En este caso, la evidencia es contundente y se rechaza la hipótesis nula.Básicamente, si el p-valor es menor o igual que alfa (\(\alpha\)) —siendo alfa el nivel de significación, normalmente \(0.05\)—, rechazamos la hipótesis nula, porque es extremadamente raro obtener ese valor muestral si la hipótesis nula fuera correcta.
Y lo mismo al revés: si el p-valor es mayor que alfa (\(\alpha\)), quiere decir que no hay pruebas suficientes para rechazar la hipótesis nula, lo cual (recordemos) tampoco la confirma como una verdad absoluta.
Supongamos que tenemos una fábrica de bebidas. Hemos estudiado que para que una máquina esté calibrada correctamente debe proporcionar \(330\text{ ml}\) por bote, con una desviación estándar poblacional (\(\sigma\)) de \(6\text{ ml}\).Para comprobar si el turno de producción es correcto, extraemos una muestra de \(9\) botes de refresco (\(n = 9\)).
Calculamos la media de esta muestra y nos da \(323\text{ ml}\) (\(\bar{x} = 323\)).A partir de aquí, planteamos nuestras hipótesis:
\(H_a\) (Hipótesis Alternativa): \(\mu < 330\text{ ml}\) (La media poblacional es inferior).¿Por qué elegimos “inferior”? Porque la media de nuestra muestra ha sido de \(323\text{ ml}\), lo que nos hace sospechar que la máquina está rellenando de menos (contraste de cola izquierda).
El objetivo de todo el proceso es calcular, asumiendo que la hipótesis nula es cierta, qué probabilidad hay de que la media de una muestra de 9 botes sea inferior o igual a \(323\text{ ml}\).Dado que conocemos la desviación estándar de la población (\(\sigma = 6\)), utilizamos la distribución normal calculando el estadístico \(Z\).
Primero, calculamos el Error Estándar de la Media (\(\sigma_{\bar{x}}\)):
\[\sigma_{\bar{x}} = \frac{\sigma}{\sqrt{n}}\]
Segundo, calculamos el valor \(Z\) (Estandarización) sustituyendo nuestros datos:
El cálculo del valor \(Z\) nos da exactamente \(-3.5\). Al cotejar este resultado en la tabla de la distribución normal estándar para un contraste de cola izquierda, obtenemos el p-valor:
\[\text{p-valor} = P(Z \le -3.5) = 0.0002\]
Es decir, el \(0.02\%\). Como este p-valor es muchísimo menor que nuestro nivel de significación alfa (\(0.0002 \le 0.05\)), concluimos el análisis rechazando la hipótesis nula. La máquina está estropeada.
import numpy as npfrom scipy import stats# 1. DATOS DEL PROBLEMAmu_poblacion =330# Media teórica de la máquina (H0)sigma_poblacion =6# Desviación estándar de la poblacióndatos_muestra = [322, 325, 321, 324, 326, 322, 323, 322, 324]alpha =0.05# Nivel de significación# 2. CÁLCULOS MUESTRALESn =len(datos_muestra) # Tamaño de la muestra media_muestra = np.mean(datos_muestra) # Media de la muestra print(f"Tamaño de la muestra (n): {n}")print(f"Media de la muestra (x_barra): {media_muestra} ml\n")# 3. ESTANDARIZACIÓN (Calcular Z)error_estandar = sigma_poblacion / np.sqrt(n)z_calculada = (media_muestra - mu_poblacion) / error_estandarprint(f"Valor de Z calculado: {z_calculada}")# 4. CÁLCULO DEL P-VALOR (Cola izquierda)# stats.norm.cdf calcula la probabilidad acumulada desde el extremo izquierdo hasta Zp_valor = stats.norm.cdf(z_calculada)print(f"El p-valor es: {p_valor:.4f} (o {p_valor *100:.2f}%)")# 5. TOMA DE DECISIÓNif p_valor <= alpha:print(f"Como el p-valor ({p_valor:.4f}) <= Alpha ({alpha}):")print("RECHAZAMOS la Hipótesis Nula (H0).")print("Evidencia suficiente: La máquina está fallando (llena de menos).")else:print(f"Como el p-valor ({p_valor:.4f}) > Alpha ({alpha}):")print("NO RECHAZAMOS la Hipótesis Nula (H0).")print("No hay pruebas suficientes para decir que la máquina funciona mal.")
Tamaño de la muestra (n): 9
Media de la muestra (x_barra): 323.22222222222223 ml
Valor de Z calculado: -3.3888888888888857
El p-valor es: 0.0004 (o 0.04%)
Como el p-valor (0.0004) <= Alpha (0.05):
RECHAZAMOS la Hipótesis Nula (H0).
Evidencia suficiente: La máquina está fallando (llena de menos).
Cuando se realiza un contraste de hipótesis utilizando el test Z, nos apoyamos en la distribución normal estándar. En la variable original, el eje horizontal representa la escala de los datos, donde el centro está definido por la media poblacional o teórica (\(\mu\)).
Al calcular el estadístico \(z\) a partir de una media muestral (\(\bar{x}\)), lo que obtenemos es a cuántas desviaciones estándar se encuentra dicha media muestral de la media poblacional.Es decir, realizamos un proceso de estandarización donde la escala original se transforma: la media teórica pasa a ser exactamente cero (\(\mu = 0\)) y el eje se mide en unidades de desviación estándar. El valor \(z\) resultante se situará a la izquierda (negativo) o a la derecha (positivo) de la media.
La tabla de probabilidad acumulada (\(\Phi\)) para la Distribución Normal Estándar indica, para un valor \(z\) dado, cuánta probabilidad (área bajo la curva) se ha acumulado desde \(-\infty\) hasta ese punto.Para \(z = -1\): La probabilidad acumulada es \(0.1587\), lo que significa que el área desde el extremo izquierdo hasta \(-1\) representa el \(15.87\%\) del total.Para \(z = 1\): La probabilidad acumulada es \(0.8413\), lo que significa que el área desde el extremo izquierdo hasta \(1\) representa el \(84.13\%\) del total.
z
.00
.01
.02
-1.0
0.1587
0.1562
0.1539
-0.9
0.1841
0.1814
0.1788
…
…
…
…
0.0
0.5000
0.5040
0.5080
…
…
…
…
0.9
0.8159
0.8186
0.8212
1.0
0.8413
0.8438
0.8461
El p-valor es la probabilidad de obtener un resultado tan extremo o más extremo que el observado, asumiendo que la hipótesis nula (\(H_0\)) es verdadera. Dependiendo de la hipótesis planteada, existen tres tipos de pruebas:
Prueba de cola izquierda (unilateral izquierda): Calcula la probabilidad de obtener un valor igual o inferior a \(-z\).
Prueba de cola derecha (unilateral derecha): Calcula la probabilidad de obtener un valor igual o superior a \(+z\).
Prueba de dos colas (bilateral): Calcula la probabilidad de que el desvío ocurra en cualquier dirección, sumando el área de ambas colas.
Tomando como referencia los valores críticos \(1\) y \(-1\), las probabilidades correspondientes según la distribución normal estándar (\(Z\)) se calculan de la siguiente manera:
A. Prueba de Cola Izquierda Buscamos el área acumulada a la izquierda de \(-1\):
Siguiendo con el ejemplo de la máquina, en un test bilateral, ya no nos importa únicamente si la máquina se queda corta (\(\mu < 330\)). Nos preocupa que la máquina esté descalibrada en cualquier dirección (tanto si llena de menos, como si llena de más).
Tu muestra se encuentra a \(3.5\) desviaciones estándar por debajo de la media teórica.
Aquí viene el cambio fundamental. Como tu hipótesis alternativa es de desigualdad (\(\neq\)), el p-valor debe responder a la pregunta: ¿Qué probabilidad hay de obtener una muestra tan extrema como la nuestra por azar, ya sea por quedarse corta o por pasarse? Gráficamente, tenemos que calcular el área a la izquierda de \(-3.5\) Y el área a la derecha de \(+3.5\).
\[\text{p-valor} = P(Z \le -3.5) + P(Z \ge 3.5)\]
Por la simetría de la campana de Gauss, ambas áreas son exactamente iguales. Por lo tanto, simplemente multiplicamos por 2 el área de una de las colas:
Comparamos nuestro nuevo p-valor con el nivel de significación estándar (\(\alpha = 0.05\)): \[0.0004 \le 0.05 \implies \text{Se rechaza } H_0\]
4 Distribución \(t\) en test de cola
Cuando \(\sigma\) es desconocida, porque no siempre se puede conocer la desviación estandar de la población, se realizan dos cambios:
Se estima la variabilidad, que es sustituir la desviación estándar poblacional (\(\sigma\)) por la desviación estándar de nuestra muestra (\(s\)).
En lugar de usar la distribución normal (\(Z\)), utilizamos la distribución \(t\) de Student.
Al usar la desviación de la muestra (\(s\)), estamos introduciendo más incertidumbre. Las muestras pequeñas pueden ser engañosas y su variabilidad puede fluctuar mucho.La distribución \(t\) de Student se diseñó precisamente para corregir esto: es una campana similar a la normal, pero tiene las colas más gruesas (más altas). Esto significa que asigna más probabilidad a los valores extremos, siendo más “prudente” o “conservadora” ante la falta de información poblacional.
Imaginemos el mismo caso de los botes de refresco (\(n = 9\), \(\mu = 330\text{ ml}\) y \(\bar{x} = 323\text{ ml}\)), pero ahora no conocemos \(\sigma\). En su lugar, calculamos la desviación estándar de esos 9 botes y nos da \(s = 6\).
La distribución \(t\) es una familia de curvas que dependen del tamaño de la muestra. Esto se define mediante los grados de libertad (\(df\)):
\[df = n - 1 = 9 - 1 = 8\]
La fórmula es idéntica en estructura a la de \(Z\), pero usando \(s\):
Para proporciones (contar éxitos/fracasos, caras/cruces, sí/no), la naturaleza de los datos es discreta y sigue una distribución binomial que, bajo ciertas condiciones, podemos aproximar con la distribución \(Z\) (normal).
Queremos comprobar si una moneda está trucada o si es una moneda justa, para ello se va hacer una comprobación de dos colas. - \(H_0\) (Hipótesis Nula): \(p = 0.5\) (La moneda es justa, la probabilidad de cara en la población es del 50%). - \(H_a\) (Hipótesis Alternativa): \(p \neq 0.5\) (La moneda está trucada, la probabilidad es diferente).
Realizamos el exprimento:
Número de lanzamientos (\(n\)): \(30\)
Caras obtenidas (\(x\)): \(11\)
Proporción muestral (\(\hat{p}\)): \(\frac{11}{30} \approx 0.3667\) (Un \(36.67\%\) de caras).
Error Estándar (\(SE\)):
Utilizamos la probabilidad teórica de la hipótesis nula (\(p=0.5\)):
Ahora calculamos a cuántas desviaciones estándar se encuentra nuestro \(36.67\%\) del \(50\%\) teórico:
\[Z = \frac{\hat{p} - p}{SE} = \frac{0.3667 - 0.50}{0.0913} = \frac{-0.1333}{0.0913} \approx -1.46\] Nuestra muestra está a \(1.46\) desviaciones estándar por debajo de la media.
Como nuestro test es bilateral, buscamos el área en ambas colas de la campana de Gauss: la probabilidad de obtener un valor tan extremo como \(-1.46\) a la izquierda, o \(+1.46\) a la derecha.Buscamos en la tabla \(Z\) el valor acumulado para \(z = -1.46\), el cual nos da exactamente \(0.0721\). Como es un test de dos colas, duplicamos este valor:
Comparamos el p-valor con el nivel de significación habitual (\(\alpha = 0.05\)):
\[0.1442 > 0.05 \implies \text{No se rechaza } H_0\]
Aquí hay una observación interesante a medida que el número de lanzamiento aumenta, el error estándar se reduce, este permite que con una misma probabilidad y mayor número de lanzamiento la campana de Gauss se estreche más en el mismo porcentaje así tendriamos un p-valor inferior. Es decir, con más lanzamiento y mismo porcentaje puede ser que se acabe rechazando la hipotesis neutra.
Ahora también podemos utilizar las fórmulas de medias.
Para usar las fórmulas de medias, tenemos que ver cada lanzamiento como un número independiente. Vamos a codificar los resultados de los 30 lanzamientos como un informático o un estadístico:
Si sale Cara, anotamos un\[1\]
Si sale Cruz, anotamos un\[0\]
Si hacemos el experimento y sumamos todos los números, el total de la suma es 11 (las 11 caras que obtuviste). La media se calcula sumando todos los datos y dividiendo por \(n\).
\[\bar{x} = \frac{\text{Suma de todos los 1s y 0s}}{30} = \frac{11}{30} = 0.3667\]
Si la hipótesis nula es cierta y la moneda es justa, en la población de infinitos lanzamientos la mitad serán 1s y la otra mitad 0s.
\[\mu = 0.5\]
Para variables que solo valen 0 o 1, existe una fórmula matemática directa para su desviación estándar poblacional: \(\sigma = \sqrt{p \cdot (1-p)}\). Como asumimos que \(p = 0.5\):
Cuando se comparan dos muestra, en lugar de comparar una muestra con la población, la hipótesis nula (\(H_0\)) es la postura “escéptica”: asume que no hay ninguna diferencia real entre ambos grupos y que cualquier pequeña variación observada se debe puramente al azar.
Imaginemos que una empresa cuenta con dos máquinas de café de marcas distintas (Máquina X y Máquina Y). Ambas están configuradas teóricamente para servir botes de café con un volumen promedio de \(330\text{ ml}\). Sin embargo, el equipo de mantenimiento sospecha que la Máquina X está sirviendo, en promedio, más cantidad que la Máquina Y.
Para comprobarlo, se plantea un contraste de hipótesis unilateral de cola derecha:
\(H_0\) (Hipótesis Nula): \(\mu_X = \mu_Y \implies \mu_X - \mu_Y = 0\)(Postura escéptica: no existe una diferencia real entre las medias de ambas máquinas).
\(H_a\) (Hipótesis Alternativa): \(\mu_X > \mu_Y \implies \mu_X - \mu_Y > 0\)(Sospecha: la media de llenado de la Máquina X es superior a la de la Máquina Y).
Dado que no conocemos la verdadera desviación estándar de la población de todos los cafés que servirán estas máquinas en su vida útil (\(\sigma\)), extraemos una muestra aleatoria de botes de cada máquina y calculamos sus medias (\(\bar{x}, \bar{y}\)) y sus desviaciones estándar muestrales (\(s_X, s_Y\)):
Muestra de la Máquina X:
Tamaño de muestra (\(n_X\)): \(15\) botes
Media muestral (\(\bar{x}\)): \(332\text{ ml}\)
Desviación estándar de la muestra (\(s_X\)): \(4.5\text{ ml}\)
Muestra de la Máquina Y
Tamaño de muestra (\(n_Y\)): \(12\) botes
Media muestral (\(\bar{y}\)): \(329\text{ ml}\)
Desviación estándar de la muestra (\(s_Y\)): \(5.2\text{ ml}\)
A nivel muestral, la diferencia observada es de \(3\text{ ml}\) a favor de la Máquina X (\(332 - 329 = 3\)). El objetivo del test es determinar si esta diferencia es estadísticamente significativa o si es simple ruido debido al azar.
Utilizamos la fórmula del Test de Welch, la cual calcula el error estándar permitiendo que cada muestra aporte su propia variabilidad de forma independiente en el denominador:
El valor de nuestro estadístico es \(t = 1.580\). Esto nos dice que la diferencia observada está a \(1.58\) desviaciones estándar estimadas a la derecha de la hipótesis nula.
En el Test de Welch, los grados de libertad (\(df\)) se ajustan mediante la ecuación de Satterthwaite para absorber la disparidad de las varianzas. Para este conjunto de datos, el cálculo arroja:
Al ser una prueba de cola derecha, buscamos la probabilidad de obtener un valor de \(t\) igual o mayor a \(1.580\) con \(21.6\) grados de libertad. Consultando las tablas de la distribución \(t\) correspondientes, encontramos:
from scipy import statsimport numpy as np# Datos de nuestro ejercicio exacton_X, media_X, de_X =15, 332, 4.5n_Y, media_Y, de_Y =12, 329, 5.2# Grados de libertad de Welch (Ecuación de Satterthwaite)v_X = (de_X **2) / n_Xv_Y = (de_Y **2) / n_Ydf_welch = (v_X + v_Y)**2/ ( (v_X**2/ (n_X -1)) + (v_Y**2/ (n_Y -1)) )t_calc, p_val = stats.ttest_ind_from_stats( mean1=media_X, std1=de_X, nobs1=n_X, mean2=media_Y, std2=de_Y, nobs2=n_Y, equal_var=False, alternative='greater')print(f"Estadístico t calculado: {t_calc:.3f}")print(f"Grados de libertad (df): {df_welch:.1f}") print(f"p-valor (Cola derecha): {p_val:.4f} ({p_val*100:.2f}%)")
Estadístico t calculado: 1.580
Grados de libertad (df): 21.9
p-valor (Cola derecha): 0.0642 (6.42%)
Si el tamaño de muestra \(n\) es muy grande (lo que implica grados de libertad \(df\) muy grandes), se puede utilizar la tabla \(Z\) de la distribución normal. El resultado, el p-valor y la conclusión serán idénticos.
7 Comparación de muestras pareadas
Cuando medimos a los mismos individuos en dos momentos diferentes, ya no tenemos dos grupos independientes. Lo que tenemos es un único grupo y lo que realmente nos interesa es el cambio individual de cada persona.
Imagina que seleccionas a \(n = 5\) empleados de tu oficina para un programa de entrenamiento físico de alto rendimiento durante 3 meses. Queremos comprobar si el ejercicio reduce su frecuencia cardíaca en reposo (lo cual indicaría una mejora cardiovascular).
\(H_0\): \(\mu_D = 0\) (El ejercicio no produce ningún cambio; la media de las diferencias es cero).
\(H_a\): \(\mu_D < 0\) (El ejercicio reduce la frecuencia cardíaca; la media de las diferencias es menor que cero, test de cola izquierda).
Recogemos los latidos por minuto (LPM) de cada empleado antes y después del programa, y calculamos su Diferencia (\(D = \text{Después} - \text{Antes}\)):
Empleado
Antes (LPM)
Después (LPM)
Diferencia (D)
Juan
75
70
−5
María
80
74
−6
Pedro
68
69
+1
Ana
74
68
−6
Luis
82
76
−6
Ahora nos olvidamos por completo de las columnas de “Antes” y “Después”. Nuestro único objetivo es analizar la columna de las Diferencias (\(D\)): [-5, -6, 1, -6, -6].
Sumamos las diferencias y dividimos entre el número de personas (\(n=5\)):
En promedio, los empleados redujeron su frecuencia cardíaca en \(4.4\text{ LPM}\).
Calculamos la variabilidad de estas diferencias usando la fórmula de la desviación estándar de toda la vida aplicada a la columna \(D\). Al hacer el cálculo matemático tradicional, nos da:
Como la hipótesis nula (\(H_0\)) dice que no hay cambio, asumimos que \(\mu_D = 0\). Por lo tanto, la fórmula se simplifica a dividir la media de tus diferencias entre su propio error estándar:
Si hubieras tratado a estos dos momentos como muestras independientes, la enorme diferencia biológica que hay de por sí entre Juan (75 LPM) y Luis (82 LPM) habría creado tanto “ruido” que el test habría dicho que no hay diferencias significativas. Al restar los valores de cada uno antes de empezar, eliminamos la genética de la ecuación y nos enfocamos puramente en el efecto del ejercicio.