El p-value (o valor p) es uno de los conceptos más centrales y, a menudo, malinterpretados en la inferencia estadística. Se define como:
La probabilidad de obtener un resultado tan extremo o más extremo que el observado en nuestra muestra, asumiendo que la hipótesis nula (H₀) es verdadera.
En términos más simples, el p-value nos dice cuán probable es que hayamos observado nuestros datos (o datos aún más inusuales) si, de hecho, no hubiera ningún efecto o diferencia en la población (es decir, si H₀ fuera cierta).
La interpretación del p-value se realiza en comparación con el nivel de significancia (α) que hemos establecido previamente (comúnmente 0.05):
Se considera que el resultado es estadísticamente significativo. Esto significa que la probabilidad de observar nuestros datos (o datos más extremos) si H₀ fuera verdadera es muy baja. Por lo tanto, tenemos suficiente evidencia para rechazar la hipótesis nula a favor de la hipótesis alternativa.
Ejemplo: Si α = 0.05 y obtenemos un p-value = 0.01, rechazamos H₀. Decimos que hay una diferencia o efecto significativo.
Se considera que el resultado no es estadísticamente significativo. Esto significa que la probabilidad de observar nuestros datos (o datos más extremos) si H₀ fuera verdadera no es tan baja como para rechazarla. Por lo tanto, no tenemos suficiente evidencia para rechazar la hipótesis nula.
Ejemplo: Si α = 0.05 y obtenemos un p-value = 0.10, no rechazamos H₀. Decimos que no hay evidencia suficiente de una diferencia o efecto significativo.
Es importante recordar que "no rechazar H₀" no significa que H₀ sea verdadera, sino que no hay suficiente evidencia en la muestra para refutarla.
A pesar de su uso generalizado, el p-value ha sido objeto de numerosas críticas y tiene limitaciones importantes:
Un p-value pequeño solo nos dice que un efecto es estadísticamente significativo, pero no nos dice cuán grande o importante es ese efecto en la práctica. Un efecto muy pequeño pero consistente en una muestra grande puede resultar en un p-value muy bajo.
Una interpretación errónea común es pensar que un p-value de 0.01 significa que hay un 1% de probabilidad de que H₀ sea verdadera. Esto es incorrecto. El p-value se calcula asumiendo que H₀ es verdadera.
Con muestras muy grandes, incluso diferencias triviales pueden volverse estadísticamente significativas (p-value bajo), lo que puede llevar a conclusiones engañosas si no se considera la relevancia práctica.
La presión por obtener resultados "significativos" puede llevar a prácticas cuestionables, como probar múltiples hipótesis hasta encontrar una con un p-value bajo, o manipular los datos hasta lograr la significancia deseada.
Debido a estas limitaciones, se recomienda complementar el p-value con otras métricas como los intervalos de confianza y los tamaños del efecto.
Como se mencionó, la relación es directa: el p-value se compara con el nivel de significancia (α) para tomar una decisión sobre la hipótesis nula.
p-value < α
, se rechaza H₀.p-value ≥ α
, no se rechaza H₀.El nivel de significancia es una decisión a priori del investigador, mientras que el p-value es un resultado calculado a partir de los datos.
Vamos a retomar el ejemplo de la prueba t para una muestra para ilustrar el cálculo y la interpretación del p-value en Python.
import numpy as np
from scipy import stats
# Datos de ejemplo: Puntuaciones de un grupo de estudiantes
data = np.array([10.2, 9.8, 10.5, 10.1, 9.9, 10.3, 9.7, 10.0, 10.4, 9.6])
# Valor de la media bajo la hipótesis nula (ej., la media esperada es 10.0)
mu_h0 = 10.0
# Realizar la prueba t para una muestra
# stats.ttest_1samp devuelve el estadístico t y el p-value
t_statistic, p_value = stats.ttest_1samp(data, mu_h0)
print(f"Datos de la muestra: {data}")
print(f"Media de la muestra: {np.mean(data):.2f}")
print(f"Media hipotética (H0): {mu_h0}")
print(f"\nEstadístico t: {t_statistic:.3f}")
print(f"Valor p: {p_value:.4f}")
# Interpretar el resultado usando un nivel de significancia alfa = 0.05
alfa = 0.05
print(f"\nNivel de significancia (alfa): {alfa}")
if p_value < alfa:
print(f"Dado que p-value ({p_value:.4f}) < alfa ({alfa}), se rechaza la hipótesis nula.")
print(f"Conclusión: La media de la muestra es significativamente diferente de {mu_h0}.")
else:
print(f"Dado que p-value ({p_value:.4f}) >= alfa ({alfa}), no se rechaza la hipótesis nula.")
print(f"Conclusión: No hay evidencia suficiente para decir que la media de la muestra es diferente de {mu_h0}.")
En este ejemplo, el p-value calculado nos permite decidir si la diferencia observada entre la media de nuestra muestra y la media hipotética es lo suficientemente grande como para ser considerada estadísticamente significativa, o si podría deberse simplemente al azar del muestreo.
La prueba t de una muestra (o one-sample t-test) es una técnica de inferencia estadística que se usa para comprobar si la media de una muestra difiere significativamente de un valor conocido o supuesto (la media poblacional bajo la hipótesis nula).
Conceptos principales:
La media de la población es igual a un valor específico (por ejemplo, μ = 10).
La media de la población es diferente de ese valor (μ ≠ 10). (Se puede plantear también en forma unilateral: μ > 10 o μ < 10, según el caso).
Mide cuántas desviaciones estándar está la media muestral de la media hipotética.
t = ( x̄ - μ0 ) / ( s / √n )
Donde:
Probabilidad de observar los datos (o más extremos) si la hipótesis nula fuera cierta.
Ahora, te proponemos un ejercicio. ¿Qué pasaría si los datos de la muestra fueran claramente diferentes a la media hipotética? Intenta reemplazar la variable data
en el programa de Python con la siguiente lista y vuelve a ejecutarlo.
Este nuevo conjunto de datos está diseñado para que su media se aleje más de 10.0:
# Nuevo conjunto de datos para probar
data = np.array([11.2, 10.8, 11.5, 11.1, 10.9, 11.3, 10.7, 11.0, 11.4, 10.6])
Al ejecutar el programa con estos nuevos datos, observarás que el valor p disminuye drásticamente, cayendo por debajo del nivel de significancia de 0.05. Esto te llevará a rechazar la hipótesis nula, concluyendo que la media de esta nueva muestra es, de hecho, significativamente diferente de 10.0.