Ir al contenido principal

Prueba de normalidad: cómo comprobar si tus datos tienen una distribución normal

Aprende qué es una prueba de normalidad, por qué es importante y cómo usar pruebas comunes como Shapiro-Wilk, Kolmogorov-Smirnov y métodos visuales para comprobar tus datos + ejemplos en Python y R.
Actualizado 26 mar 2026  · 14 min leer

¿Alguna vez has realizado una prueba t, has obtenido un valor p claro y luego te has dado cuenta de que nunca comprobaste si tus datos seguían una distribución normal?

Las pruebas estadísticas no te avisan cuando se incumplen sus supuestos. Simplemente devuelven el valor. El problema es que pruebas como la prueba t y el ANOVA asumen que tus datos siguen una distribución normal. Si no es así, estás construyendo conclusiones sobre cimientos inestables.

Las pruebas de normalidad te ofrecen una forma de verificar ese supuesto. Existen métodos visuales y estadísticos para hacerlo, y saber cuál utilizar (y cómo leer los resultados) es lo que te permite respaldar tus resultados con confianza.

En este artículo, te guiaré a través de los métodos visuales y estadísticos más comunes para comprobar la normalidad, te mostraré cómo ejecutarlos en Python y R, y te explicaré qué hacer cuando tus datos no superan la prueba.

Qué es la distribución normal en la práctica

Probablemente ya hayas visto la curva de campana, pero esto es lo que significa realmente para tus datos.

Una distribución normal es un patrón en el que la mayoría de los valores se agrupan alrededor del centro, y aparecen menos valores a medida que te alejas en cualquier dirección. Si la representas gráficamente, obtienes una curva simétrica en forma de campana. El lado izquierdo es un espejo del lado derecho.

Gráfico de distribución normal

Gráfico de distribución normal

Lo que hace única a la distribución normal es que la media, la mediana y la moda se sitúan en el mismo punto: el centro de la campana. No hay asimetría hacia la izquierda ni hacia la derecha. En otras palabras, los datos están equilibrados.

Esto aparece constantemente en los datos de medición del mundo real. La altura humana, las lecturas de presión arterial, las tolerancias de fabricación, las puntuaciones de los exámenes: todos tienden a seguir una distribución normal cuando se recopilan suficientes muestras. La variación natural en los sistemas biológicos y físicos tiende a producir esta forma.

Dicho esto, no todos los datos se comportan de esta manera. Los datos de ingresos tienen asimetría a la derecha. Los tiempos de respuesta de los sitios web tienen colas largas.

En el mundo real, las cosas pueden salir terriblemente mal si asumes la normalidad sin comprobarla.

Por qué es importante comprobar la normalidad

El problema de no comprobar la normalidad es que la mayoría de las pruebas estadísticas comunes (pruebas t, ANOVA) son pruebas paramétricas.

Esto significa que se basan en supuestos sobre la distribución de tus datos. La normalidad es uno de ellos. Cuando ese supuesto se rompe, las matemáticas de la prueba se rompen con él. Seguirás obteniendo el resultado de la prueba, pero podría llevarte a conclusiones erróneas.

Las pruebas paramétricas funcionan haciendo suposiciones matemáticas sobre la población de la que proviene tu muestra. Cuando esos supuestos se cumplen, estas pruebas son útiles y precisas. Cuando no es así, tus valores p se vuelven poco fiables y no puedes sacar conclusiones precisas.

Ahí es donde entran en juego las pruebas no paramétricas.

Pruebas como la U de Mann-Whitney o Kruskal-Wallis no asumen normalidad; trabajan con rangos en lugar de valores brutos. Son más flexibles, pero también tienden a ser menos útiles cuando tus datos son normales. Por lo tanto, cambiar a ellas innecesariamente no es la solución.

El verdadero problema que cometen tantos recién llegados a la ciencia de datos es saltarse la comprobación por completo.

La prueba de normalidad requiere unas pocas líneas de código. No probar significa que o bien confías en tus datos, o bien no estás pensando en ellos en absoluto.

Métodos visuales para comprobar la normalidad

Antes de realizar cualquier prueba formal, representa tus datos gráficamente. Los elementos visuales te dirán mucho sobre con qué estás trabajando.

Histograma

Un histograma te muestra la forma de tu distribución.

Ejemplo de histograma

Ejemplo de histograma

Si tus datos tienen una distribución normal, el histograma debería parecerse a una curva de campana: alta en el medio, disminuyendo simétricamente en ambos lados. Lo que debes buscar es la asimetría: una cola larga que tira hacia la derecha significa asimetría positiva, una cola que tira hacia la izquierda significa asimetría negativa. En cualquier caso, es una señal de que tus datos podrían no ser normales.

El problema con los histogramas es que su forma depende del tamaño de los contenedores (bins):

  • Muy pocos contenedores y la distribución parece plana
  • Demasiados y parece irregular

Prueba siempre un par de tamaños de contenedor antes de sacar conclusiones.

Gráfico Q-Q

Un gráfico Q-Q (gráfico de cuantiles-cuantiles) compara los cuantiles de tus datos con los cuantiles de una distribución normal teórica.

Ejemplo de gráfico Q-Q

Ejemplo de gráfico Q-Q

Si tus datos son normales, los puntos caen a lo largo de una línea diagonal recta. Las desviaciones de esa línea te indican dónde se rompe la normalidad. Los puntos que se curvan hacia arriba en los extremos sugieren colas pesadas. Una curva en forma de S apunta a asimetría.

Los gráficos Q-Q son más precisos que los histogramas para detectar desviaciones sutiles de la normalidad, especialmente en las colas, donde los histogramas tienden a pasar cosas por alto.

Diagrama de caja

Un diagrama de caja te muestra la mediana, la dispersión y los valores atípicos en una sola vista.

Ejemplo de diagrama de caja

Un conjunto de datos con distribución normal produce un diagrama de caja donde la mediana se sitúa aproximadamente en el centro de la caja, y los bigotes se extienden a longitudes aproximadamente iguales en ambos lados. Si la mediana está descentrada, o un bigote es mucho más largo que el otro, eso es asimetría. Los puntos fuera de los bigotes son valores atípicos.

El problema general con los elementos visuales es que son subjetivos. Dos personas pueden mirar el mismo histograma y no estar de acuerdo. Úsalos primero para familiarizarte con tus datos y luego confírmalo con una prueba formal.

Pruebas de normalidad comunes en estadística

No existe una única prueba de normalidad que funcione mejor en todas las situaciones. La correcta depende del tamaño de tu muestra y de lo que intentes detectar.

Prueba de Shapiro-Wilk

La prueba de Shapiro-Wilk es la opción preferida para muestras pequeñas a medianas, generalmente de hasta unos pocos cientos de observaciones.

Mide qué tan cerca coinciden tus datos con una distribución normal comparando los valores observados con lo que esperarías si los datos fueran normales. Es ampliamente utilizada, bien comprendida y está disponible en todas las bibliotecas estadísticas importantes. Para la mayoría de los analistas, esta es la primera prueba a la que recurrir.

Su principal limitación es que se vuelve demasiado sensible con tamaños de muestra grandes. Tiende a marcar desviaciones minúsculas y prácticamente insignificantes como estadísticamente significativas.

Prueba de Kolmogorov-Smirnov

La prueba de Kolmogorov-Smirnov (KS) compara la distribución acumulativa de tu muestra con una teórica; en este caso, la normal.

Es más general que la de Shapiro-Wilk y puede probar contra cualquier distribución, no solo la normal. La prueba KS es menos potente que la de Shapiro-Wilk para probar la normalidad, lo que significa que es menos probable que detecte desviaciones sutiles. También requiere que especifiques los parámetros de distribución de antemano, lo que introduce sesgo si los estimas a partir de los mismos datos.

Úsala cuando necesites una comprobación rápida y de propósito general, no como tu prueba de normalidad principal.

Prueba de Anderson-Darling

La prueba de Anderson-Darling es una variación de la prueba KS, pero con una diferencia clave: da más peso a las colas de la distribución.

Esto la hace mejor para detectar desviaciones que aparecen en los extremos: colas pesadas, valores atípicos o comportamiento no normal que la prueba KS pasaría por alto. Si tu caso de uso es sensible al comportamiento de las colas, Anderson-Darling es una buena opción.

Prueba de D'Agostino-Pearson

La prueba de D'Agostino-Pearson adopta un enfoque diferente.

En lugar de comparar distribuciones directamente, mide dos propiedades de tus datos: asimetría y curtosis (qué tan pesadas o ligeras son las colas).

Combina ambas en un único estadístico de prueba. Esto la hace buena para identificar por qué tus datos podrían no ser normales, no solo si lo son. Funciona mejor con muestras más grandes, donde las estimaciones de asimetría y curtosis son fiables.

Prueba de Jarque-Bera

La prueba de Jarque-Bera también utiliza la asimetría y la curtosis, similar a la de D'Agostino-Pearson.

Es común en econometría y análisis de series temporales. Al igual que la de D'Agostino-Pearson, necesita una muestra razonablemente grande para producir resultados fiables. Con muestras pequeñas, la prueba no es muy fiable. Si trabajas en un contexto financiero o económico, es probable que veas esta a menudo.

En conclusión, empieza con Shapiro-Wilk para muestras pequeñas y combínala con un gráfico Q-Q. Usa Anderson-Darling cuando el comportamiento de las colas sea importante, y D'Agostino-Pearson cuando quieras entender la naturaleza de la desviación.

Cómo interpretar los resultados de las pruebas de normalidad

Cada prueba de normalidad es una prueba de hipótesis.

La hipótesis nula en cualquier prueba de normalidad es que tus datos tienen una distribución normal. La prueba entonces pregunta: dado lo que vemos en los datos, ¿qué tan probable es que esta hipótesis nula sea cierta?

La respuesta se devuelve como un valor p:

  • p > 0.05 - no tienes pruebas suficientes para rechazar la normalidad. Asume que los datos son normales y procede con las pruebas paramétricas
  • p < 0.05 - los datos difieren de la normalidad lo suficiente como para ser estadísticamente detectables. Rechaza el supuesto de normalidad

Suena sencillo, pero mucha gente se equivoca aquí.

Un valor p bajo no te dice qué tan no normales son tus datos, solo que se detectó una diferencia. Con muestras grandes, las pruebas de normalidad se vuelven extremadamente sensibles. Marcarán desviaciones tan pequeñas que no tienen un impacto real en tu análisis.

El problema opuesto también existe. Con muestras pequeñas, incluso los datos visiblemente asimétricos pueden producir p > 0.05 porque la prueba no tiene suficiente potencia para detectar la desviación.

La significación estadística y la significación práctica no son lo mismo.

Un valor p te dice si existe una desviación de la normalidad. No te dice si esa desviación importa para tu análisis específico. Combina siempre el resultado de tu prueba con un gráfico Q-Q: si los puntos siguen la línea de cerca, tus datos son probablemente lo suficientemente normales, independientemente de lo que diga el valor p.

Pruebas de normalidad en Python

El módulo scipy.stats de Python tiene todo lo que necesitas para realizar pruebas de normalidad en unas pocas líneas de código.

Para todos los ejemplos siguientes, usaré el mismo conjunto de datos (100 muestras extraídas de una distribución normal) para que puedas ejecutar el código y seguirlo.

import numpy as np
from scipy import stats

np.random.seed(42)
data = np.random.normal(loc=0, scale=1, size=100)

Prueba de Shapiro-Wilk

Usa shapiro() como tu primera comprobación, especialmente con conjuntos de datos más pequeños.

stat, p_value = stats.shapiro(data)
print(f"Statistic: {stat:.4f}, p-value: {p_value:.4f}")

Esto es lo que obtienes:

Resultado de una prueba de Shapiro-Wilk en Python

Resultado de una prueba de Shapiro-Wilk en Python

El valor p está muy por encima de 0.05, por lo que no rechazamos la normalidad. Los datos parecen normales, lo cual tiene sentido, ya que los generamos a partir de una distribución normal.

Prueba de Kolmogorov-Smirnov

kstest() compara tu muestra con una distribución nombrada. Para la normalidad, pasa "norm" junto con la media y la desviación estándar de la muestra.

stat, p_value = stats.kstest(data, 'norm', args=(data.mean(), data.std()))
print(f"Statistic: {stat:.4f}, p-value: {p_value:.4f}")

Resultado de una prueba de Kolmogorov-Smirnov en Python

Resultado de una prueba de Kolmogorov-Smirnov en Python

De nuevo, p > 0.05: no hay evidencia contra la normalidad.

Con esta prueba en Python, pasa siempre la media y la desviación estándar explícitamente a través de args. Si te saltas eso, kstest() utiliza por defecto una normal estándar (media=0, std=1), lo que te dará resultados poco fiables a menos que tus datos ya estén estandarizados.

Prueba de D'Agostino-Pearson

normaltest() prueba la normalidad comprobando la asimetría y la curtosis combinadas. Funciona mejor con muestras más grandes.

stat, p_value = stats.normaltest(data)
print(f"Statistic: {stat:.4f}, p-value: {p_value:.4f}")

Resultado de una prueba de D'Agostino-Pearson en Python

Resultado de una prueba de D'Agostino-Pearson en Python

p > 0.05 de nuevo. Los datos pasan las tres pruebas aquí, pero eso es lo esperado: los generé para que fueran normales. En la práctica, a menudo verás que estas pruebas no están de acuerdo, especialmente cerca del límite de 0.05. Cuando eso suceda, recurre a tu gráfico Q-Q para tomar la decisión.

Pruebas de normalidad en R

R tiene funciones integradas para pruebas de normalidad. No se necesitan paquetes adicionales para lo básico.

Al igual que con los ejemplos de Python, usaré el mismo conjunto de datos en todo momento: 100 muestras de una distribución normal.

set.seed(42)
data <- rnorm(100, mean = 0, sd = 1)

Prueba de Shapiro-Wilk

shapiro.test() es la opción preferida para muestras pequeñas a medianas. Solo pásale tu vector de datos:

shapiro.test(data)

Resultado de una prueba de Shapiro-Wilk en R

Resultado de una prueba de Shapiro-Wilk en R

p > 0.05: no hay evidencia contra la normalidad. El estadístico W oscila entre 0 y 1, donde los valores cercanos a 1 indican que los datos siguen de cerca una distribución normal.

Prueba de Kolmogorov-Smirnov

ks.test() compara tu muestra con una distribución teórica. Para la normalidad, especifica "pnorm" y pasa la media y la desviación estándar de la muestra.

ks.test(data, "pnorm", mean(data), sd(data))

Resultado de una prueba de Kolmogorov-Smirnov en R

Resultado de una prueba de Kolmogorov-Smirnov en R

p > 0.05 de nuevo. Esta prueba en R tiene la misma advertencia que en Python: pasa siempre mean(data) y sd(data). Omitirlo usaría por defecto una normal estándar, lo que sesga el resultado a menos que tus datos ya estén estandarizados.

Gráfico Q-Q

Las funciones integradas de R qqnorm() y qqline() te dan un gráfico Q-Q en dos líneas de código.

qqnorm(data, main = "Q-Q Plot")
qqline(data, col = "steelblue", lwd = 2)

Gráfico Q-Q en R

Gráfico Q-Q en R

qqnorm() representa los cuantiles de tu muestra frente a los cuantiles normales teóricos. qqline() dibuja la línea de referencia. Que los puntos sigan esa línea de cerca significa que tus datos se comportan normalmente. Las desviaciones en los extremos señalan problemas en las colas que vale la pena investigar.

Qué hacer si los datos no son normales

Si tus datos no superan una prueba de normalidad, tienes un par de opciones sólidas.

Transformar los datos

A veces, la solución es transformar tus datos para que se comporten normalmente y luego ejecutar tus pruebas originales sobre los valores transformados.

La transformación logarítmica es la opción más común. Funciona bien con datos con asimetría a la derecha: piensa en ingresos, tiempos de respuesta o mediciones biológicas que tienen una cola larga en el lado derecho. La función en Python es np.log(data), y el equivalente en R es log(data).

La transformación de raíz cuadrada es una opción más suave para una asimetría moderada, y es útil cuando tus datos contienen ceros (ya que no puedes calcular el logaritmo de cero). Usa np.sqrt(data) en Python o sqrt(data) en R.

Después de transformar, vuelve a ejecutar tu prueba de normalidad. Si los datos transformados pasan la prueba, procede con tus pruebas paramétricas; solo recuerda interpretar los resultados en términos de la escala transformada.

Usar pruebas no paramétricas

Si la transformación no funciona o no tiene sentido para tus datos, cambia a pruebas no paramétricas. Estas no asumen normalidad; clasifican los datos en lugar de trabajar con valores brutos.

  • La prueba U de Mann-Whitney es la alternativa no paramétrica a la prueba t de muestras independientes. Úsala cuando estés comparando dos grupos
  • La prueba de Kruskal-Wallis es la versión no paramétrica del ANOVA de una vía. Úsala cuando estés comparando tres o más grupos

Ambas están disponibles en scipy.stats (mannwhitneyu() y kruskal()) y en el paquete base de R (wilcox.test() y kruskal.test()).

Confiar en tamaños de muestra grandes

Con muestras lo suficientemente grandes, a menudo puedes ignorar la preocupación por la normalidad.

El teorema del límite central dice que a medida que aumenta el tamaño de tu muestra, la distribución muestral de la media se aproxima a la normal, independientemente de cómo se distribuyan los datos originales. En la práctica, esto significa que las pruebas paramétricas tienden a ser fiables con muestras grandes incluso cuando los datos subyacentes no son perfectamente normales.

Errores comunes al probar la normalidad

Probar la normalidad es fácil; has visto que solo requiere una línea de código. Aun así, hay un par de formas de equivocarse.

Aquí tienes algunos errores comunes que suelen cometer los recién llegados a la ciencia de datos:

  • Confiar solo en los valores p: Un valor p te dice si se detectó una desviación de la normalidad, no qué tan grande es esa desviación o si importa. Tratar p > 0.05 como una luz verde y p < 0.05 como una luz roja es demasiado simplista. Combina siempre el resultado de tu prueba con un gráfico Q-Q
  • Ignorar los efectos del tamaño de la muestra: Con muestras pequeñas, las pruebas de normalidad pueden pasar por alto desviaciones reales y devolver p > 0.05 incluso cuando tus datos están visiblemente asimétricos. Con muestras grandes, la prueba se vuelve tan sensible que marca desviaciones minúsculas e insignificantes como estadísticamente significativas. El tamaño de la muestra puede cambiar lo que significa el valor p
  • Probar la normalidad en exceso: No todos los análisis necesitan una prueba de normalidad formal. Si estás realizando un trabajo exploratorio, un histograma y un gráfico Q-Q suelen ser suficientes
  • Malinterpretar desviaciones leves: Los datos del mundo real casi nunca son perfectamente normales. Una desviación menor de la línea de referencia en un gráfico Q-Q, o un valor p justo por debajo de 0.05, no significa que tus datos estén lejos de ser normales. La pregunta es si son lo suficientemente normales para la prueba que estás realizando

En conclusión, la prueba de normalidad es solo una comprobación de tus datos. Úsala como un dato más entre muchos, no como la palabra final.

Cuándo puedes saltarte la prueba de normalidad

La prueba de normalidad no siempre es necesaria. Si tienes una fecha límite, saber cuándo saltártela puede ahorrarte tiempo sin afectar los resultados.

Conjuntos de datos grandes

Cuando tienes una muestra grande, el teorema del límite central garantiza que la distribución muestral de la media es aproximadamente normal, independientemente de la forma de tus datos brutos. Las pruebas paramétricas son generalmente fiables en esta situación, por lo que realizar una prueba de normalidad formal aporta poco valor.

Algunos métodos estadísticos también son robustos ante la no normalidad. Técnicas como la regresión lineal tienden a mantenerse bien cuando los tamaños de muestra son razonables y las violaciones no son extremas. (La regresión lineal sigue asumiendo normalidad en los residuos).

Análisis exploratorio

Cuando estás escaneando datos en busca de patrones, construyendo intuición o decidiendo qué variables investigar más a fondo, un histograma o gráfico Q-Q rápido es suficiente. Las pruebas formales son para el análisis confirmatorio, cuando tus conclusiones deben sostenerse.

Recuerda que la prueba de normalidad existe para protegerte de sacar conclusiones erróneas. Si estás en un contexto donde una conclusión errónea no conlleva consecuencias reales, o donde tu método no depende de la normalidad, la prueba es opcional.

Conclusión

La prueba de normalidad consiste en comprobar si tus supuestos se cumplen lo suficiente como para confiar en tus resultados.

Ningún conjunto de datos es perfectamente normal. El objetivo es entender cómo se comportan tus datos y elegir tus métodos en consecuencia. Un gráfico Q-Q te dice dónde están las desviaciones. Una prueba formal te informa si son estadísticamente detectables. Cuando se combinan, te dan una imagen más clara que cualquiera de las dos por separado.

El test correcto depende de tu contexto. Usa Shapiro-Wilk para muestras pequeñas, Anderson-Darling cuando las colas importan, alternativas no paramétricas cuando no se puede asumir normalidad. Y a veces, con muestras grandes o métodos robustos, ninguna prueba en absoluto.

¿Te resulta confuso todo el concepto de los valores p? Lee nuestro artículo Pruebas de hipótesis simplificadas para asegurarte de que los estás interpretando correctamente.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Científico de Datos Senior con base en Croacia. Top Tech Writer con más de 700 artículos publicados, generando más de 10M de visitas. Autor del libro Automatización del aprendizaje automático con TPOT.

Preguntas frecuentes sobre pruebas de normalidad

¿Qué es una prueba de normalidad?

Una prueba de normalidad es un método estadístico que comprueba si tus datos siguen una distribución normal (gaussiana). La mayoría de las pruebas estadísticas comunes (como las pruebas t, ANOVA y la regresión lineal) asumen normalidad, por lo que comprobar este supuesto antes de realizar tu análisis te ayuda a evitar sacar conclusiones incorrectas.

¿Siempre necesito probar la normalidad?

No siempre. Con muestras grandes, el teorema del límite central hace que las pruebas paramétricas sean fiables independientemente de la distribución subyacente. Para el análisis exploratorio, un histograma o gráfico Q-Q rápido suele ser suficiente; las pruebas de normalidad formales son más útiles cuando realizas un análisis confirmatorio y tus conclusiones deben sostenerse.

¿Qué debo hacer si mis datos no superan una prueba de normalidad?

Tienes un par de opciones. Puedes transformar los datos usando una transformación logarítmica o de raíz cuadrada y luego volver a probar. Si la transformación no funciona, cambia a pruebas no paramétricas como la U de Mann-Whitney (para dos grupos) o Kruskal-Wallis (para tres o más grupos), que no asumen normalidad.

¿Cuál es la diferencia entre las pruebas de Shapiro-Wilk y Kolmogorov-Smirnov?

Shapiro-Wilk está diseñada específicamente para probar la normalidad y funciona mejor con muestras pequeñas a medianas. La prueba de Kolmogorov-Smirnov es más general (puede comparar una muestra contra cualquier distribución teórica, no solo la normal), pero es menos potente que Shapiro-Wilk específicamente para probar la normalidad, lo que hace que sea más probable que pase por alto desviaciones sutiles.

¿Cómo interpreto un gráfico Q-Q para la normalidad?

Un gráfico Q-Q compara los cuantiles de tus datos con los cuantiles de una distribución normal teórica. Si los puntos caen cerca de la línea de referencia diagonal, tus datos se comportan normalmente. Las desviaciones en los extremos de la línea señalan problemas en las colas: una curva en forma de S apunta a asimetría, mientras que los puntos que se curvan alejándose de la línea en ambos extremos sugieren colas más pesadas o más ligeras de lo que tendría una distribución normal.

Temas

Aprende con DataCamp

Curso

Comprender la ciencia de datos

2 h
836K
Introducción a la ciencia de datos, ¡y no hay que programar!
Ver detallesRight Arrow
Iniciar curso
Ver másRight Arrow