Análisis de Distribuciones Continuas: Enfoque en la Gaussiana
Clase 9 de 17 • Curso de Matemáticas para Data Science: Probabilidad
Resumen
¿Qué son las distribuciones continuas y cómo se relacionan con la distribución normal?
Las distribuciones continuas juegan un papel crucial en el análisis de variables aleatorias que pueden asumir valores infinitos, no necesariamente enteros. Un ejemplo icónico es la distribución normal o Gaussiana, conocida visualmente como la "campana de Gauss". Es fundamental porque modela de manera efectiva muchos fenómenos naturales, reflejando cómo los datos tienden a agruparse en torno a un valor medio.
La distribución normal se define mediante su media ((\mu)) y su desviación estándar ((\sigma)), parámetros que determinan su forma y comportamiento. Con herramientas matemáticas y computacionales, como el lenguaje Python y librerías como NumPy y Matplotlib, podemos visualizar y manipular esta distribución.
¿Cómo implementar la distribución normal en Python?
Para trabajar con la distribución normal en Python, emplearemos principalmente bibliotecas como NumPy, Matplotlib, y SyPy. Aquí tienes un resumen del procedimiento para crear y graficar una distribución Gaussiana:
-
Definición de la Función Gaussiana
Podemos representar matemáticamente una distribución normal usando una función exponencial en Python. La función toma como parámetros la media ((\mu)), la desviación estándar ((\sigma)), y el valor de la variable aleatoria ((x)):import numpy as np def gaussian(x, mu, sigma): return (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * ((x - mu) / sigma) ** 2)
-
Generación de Datos y Gráfica
Con ayuda de NumPy y Matplotlib podemos generar valores y mostrar su comportamiento mediante gráficos:import matplotlib.pyplot as plt x = np.arange(-4, 4, 0.1) y = gaussian(x, mu=0, sigma=1) plt.plot(x, y) plt.title('Distribución Normal Gaussian') plt.xlabel('Variable aleatoria') plt.ylabel('Densidad de Probabilidad') plt.show()
-
Uso de SyPy para Distribuciones
SyPy ofrece herramientas para construir y trabajar con distribuciones normales, más fácilmente permitiendo cálculos de densidades y acumulados:from scipy.stats import norm prob_density = norm.pdf(x, mu=0, sigma=1) plt.plot(x, prob_density) plt.title('Función de Densidad de Probabilidad') plt.show()
¿Cómo analizamos datos reales con la distribución normal?
Analizar datos reales bajo el modelo de distribución normal nos permite verificar si los fenómenos observados siguen las líneas de una distribución Gaussian. Vamos a explorar esto con un ejemplo de análisis de datos del tamaño de las alas de mosquitos:
-
Carga y Preparación de los Datos
Usamos Pandas para leer datos desde un archivo Excel y extraer las medidas del conjunto de datos.import pandas as pd df = pd.read_excel('s057.xls') wing_sizes = df['Normally Distributed Housefly Wing Lengths'].dropna().values
-
Cálculo del Promedio y Desviación Estándar
Estos valores nos ofrecerán los parámetros necesarios para ajustar la distribución Gaussiana a nuestros datos:mu = np.mean(wing_sizes) sigma = np.std(wing_sizes)
-
Gráfica de Datos y Modelo Gaussiano
Al superponer el modelo al histograma de datos reales, validamos la hipótesis de normalidad:x_range = np.arange(30, 60, 0.1) pdf = norm.pdf(x_range, mu, sigma) plt.hist(wing_sizes, bins=20, density=True, alpha=0.5, color='g') plt.plot(x_range, pdf, 'k') plt.title('Distribución de Longitud de Alas') plt.xlabel('Longitud de Ala (mm)') plt.ylabel('Frecuencia') plt.show()
A través de estas herramientas y métodos, la distribución normal nos brinda una poderosa forma de entender y modelar datos reales. Es fascinante ver cómo patrones estadísticos se reflejan en gráficos a través de bellas curvas Gaussianas. Continúa explorando y experimentando con datos reales para reconocer la omnipresencia de las distribuciones normales en el mundo que nos rodea.