Saber si una distribución es normal
Para determinar si los datos de una serie siguen una distribución normal, puedes utilizar varios métodos estadísticos y gráficos. Aquí te detallo algunos de los enfoques más comunes:
Métodos Gráficos
- Histograma:
- Traza un histograma de tus datos. Si los datos siguen una distribución normal, el histograma debería tener forma de campana, simétrico alrededor de la media.
- Diagrama Q-Q (Quantile-Quantile):
- 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 aproximadamente sobre una línea recta, tus datos pueden seguir una distribución normal.
- Boxplot:
- Un diagrama de caja (boxplot) te permite visualizar la mediana, los cuartiles y los posibles valores atípicos. En una distribución normal, el boxplot debería ser simétrico.
Métodos Estadísticos
- Prueba de Shapiro-Wilk:
- Esta prueba evalúa la hipótesis nula de que los datos provienen de una distribución normal. Si el p-valor es menor que el nivel de significancia (por ejemplo, 0.05), puedes rechazar la hipótesis nula.
- Prueba de Kolmogorov-Smirnov:
- Compara la distribución acumulativa de los datos con la de una distribución normal. Similar a la prueba de Shapiro-Wilk, si el p-valor es menor que el nivel de significancia, puedes rechazar la hipótesis de normalidad.
- Prueba de Anderson-Darling:
- Es otra prueba que verifica si los datos provienen de una distribución normal. Proporciona un estadístico de prueba y un nivel de significancia.
- Prueba de Jarque-Bera:
- Esta prueba se basa en los momentos de la distribución (asimetría y curtosis). Un p-valor bajo indica que la distribución no es normal.
Ejemplo en Python
Aquí tienes un ejemplo simple de cómo usar algunas de estas pruebas y gráficos en Python utilizando las librerías matplotlib
, scipy
, y seaborn
.
import numpy as np import matplotlib.pyplot as plt import seaborn as sns from scipy import stats # Generar datos aleatorios data = np.array([23, 28, -20, -7, -44, 12, 1, -31, 16, 8, -1, -3, 33, 49, -22, -24, 8, 31, -8, -17, 0, -20, 10, 50, -11, -6, -8, -11, -33, 7]) # 1. Histograma plt.figure(figsize=(10, 6)) sns.histplot(data,bins=20,kde=True) plt.title('Histograma con KDE') plt.show() # 2. Diagrama Q-Q plt.figure(figsize=(10, 6)) stats.probplot(data, dist="norm", plot=plt) plt.title('Diagrama Q-Q') plt.show() # 3. Prueba de Shapiro-Wilk shapiro_test = stats.shapiro(data) print('Estadístico de Shapiro-Wilk:', shapiro_test.statistic) print('p-valor de Shapiro-Wilk:', shapiro_test.pvalue) # Interpretación de la prueba alpha = 0.05 if shapiro_test.pvalue > alpha: print("Los datos parecen seguir una distribución normal (no se rechaza H0)") else: print("Los datos no siguen una distribución normal (se rechaza H0)")
Interpretación
- Histograma: Busca la forma de campana y simetría.
- Diagrama Q-Q: Observa si los puntos se alinean en la línea recta.
- Pruebas: Un p-valor menor que 0.05 indica que es probable que los datos no sigan una distribución normal.
Usar varios métodos en conjunto te dará una mejor idea de la normalidad de tus datos.