22 · Qué significa el p-value (y qué no)
p = P(datos tan extremos | H₀ verdadera) — no P(H₀ | datos). Conoce esta distinción para evitar uno de los errores más comunes en ciencia.
El p-value es P(datos tan extremos | H₀ verdadera) — NO P(H₀ verdadera | datos).
Sin esto:
Sin esta distinción, te unirás a la larga lista de investigadores que interpretan mal p < 0.05 como 'la nula tiene 95% de probabilidad de ser falsa'.
El p-value es el número más malinterpretado en la ciencia. Aquí está la definición precisa, seguida de las malinterpretaciones más comunes que debes evitar.
Definición precisa: p-value = P(observar un estadístico de prueba tan extremo, o más | H₀ es verdadera)
Esta es una probabilidad condicional. La condición es "H₀ es verdadera." El p-value vive completamente en el mundo donde H₀ se cumple, y pregunta: "¿Son nuestros datos observados compatibles con ese mundo?"
Malinterpretaciones comunes (EVITA TODAS ESTAS):
-
"p = 0.03 significa que solo hay 3% de probabilidad de que H₀ sea verdadera." INCORRECTO. Para obtener P(H₀ | datos) necesitas el teorema de Bayes y un prior sobre H₀. El p-value da P(datos | H₀), no P(H₀ | datos).
-
"p = 0.03 significa que hay 97% de probabilidad de que el resultado se replique." INCORRECTO. La probabilidad de replicación depende del tamaño de muestra, tamaño del efecto y diseño del estudio — no directamente de p.
-
"p < 0.05 significa que el efecto es prácticamente importante." INCORRECTO. Con suficientes datos (n = 1,000,000), incluso una diferencia de 0.0001% dará p < 0.05. Significancia estadística ≠ significancia práctica.
-
"p > 0.05 significa que H₀ es verdadera." INCORRECTO. Significa que no pudimos descartar H₀ con este tamaño de muestra. "No rechazar" ≠ "aceptar."
P-hacking y pruebas múltiples: Si pruebas 100 hipótesis independientes y ninguna es verdadera, aún esperas que 5 tengan p < 0.05 por azar (tasa de falsos positivos del 5% × 100 pruebas = 5 falsos positivos esperados). Ejecutar muchas pruebas sobre los mismos datos sin corrección infla la tasa de falsos positivos — esto es p-hacking o el problema de pruebas múltiples.
Correcciones:
- Bonferroni: requiere p < α/m por prueba, donde m es el número de pruebas. Controla la tasa de error por familia (FWER) — la probabilidad de CUALQUIER falso positivo.
- Benjamini-Hochberg (BH/FDR): permite que hasta una fracción q de todos los descubrimientos sean falsos positivos (tasa de descubrimiento falso). Menos conservador que Bonferroni; estándar en genómica y selección de características de ML.
Python (in browser)
Bajo H₀ (sin efecto real), los p-values se distribuyen uniformemente en [0, 1]. Aproximadamente el 5% de los experimentos producirán p < 0.05 puramente por azar. Esta es la razón matemática por la que ejecutar muchas pruebas sin corrección lleva a falsos positivos.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Con 1000 características, ninguna relacionada con la etiqueta, aproximadamente 50 tendrán p < 0.05 por azar (5% × 1000 = 50). Seleccionar estas características incluiría ~50 predictores de ruido puro en tu modelo — una causa clásica de brechas en el rendimiento entrenamiento/prueba.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
La corrección de Bonferroni requiere p < 0.05/1000 = 5×10⁻⁵ por prueba. Esto casi elimina los falsos positivos entre las características nulas. El trade-off es potencia reducida para detectar efectos reales — pero en selección de características, los falsos positivos son especialmente dañinos.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Las cuatro interpretaciones prohibidas: (1) no es P(H₀ | datos); (2) no es la probabilidad de replicación; (3) significancia estadística ≠ importancia práctica; (4) p > 0.05 no confirma H₀. La lectura correcta es puramente sobre compatibilidad con H₀, nada más.
Si p = 0.03, la probabilidad de que H₀ sea verdadera es…
- **p-value = P(datos tan extremos | H₀ verdadera)** — NO P(H₀ | datos). Esto último requiere Bayes.
- Bajo H₀, los p-values son Uniforme[0, 1] — exactamente el 5% serán < 0.05 por azar por prueba.
- Pruebas múltiples: m pruebas → espera m×α falsos positivos. Corrige con Bonferroni (α/m) o FDR de Benjamini-Hochberg.
Las pruebas múltiples están en todas partes en la selección de características (1000 características × 1 etiqueta = 1000 pruebas). Las plataformas de A/B test deben ajustar por el número de métricas probadas. La búsqueda de hiperparámetros a través de muchas configuraciones es pruebas múltiples implícitas.
Si lo quitas: Enviarías características 'significativas' que son ruido puro — la clásica historia de '¿por qué falla mi modelo en datos nuevos?'