La distribución normal, también conocida como la distribución gaussiana, es una de las distribuciones más importantes en estadísticas y probabilidad. Es ampliamente utilizada en diversos campos para modelar datos que siguen un patrón de campana. En Python, podemos trabajar con la distribución normal utilizando la biblioteca numpy y matplotlib para visualizarla. En este artículo, exploraremos conceptos relacionados con la distribución normal y proporcionaremos ejemplos en Python.
Conceptos Básicos de la Distribución Normal
La distribución normal se caracteriza por dos parámetros: la media (μ) y la desviación estándar (σ). La función de densidad de probabilidad de una distribución normal se define como:
f(x|μ,σ) = 1 / (σ√(2π)) * e^(-(x-μ)² / (2σ²))
Donde:
- x es una variable aleatoria.
- μ es la media.
- σ es la desviación estándar.
- π es el valor de pi (aproximadamente 3.14159).
Generación de Datos de una Distribución Normal
Vamos a utilizar numpy para generar datos aleatorios que sigan una distribución normal con una media de 0 y una desviación estándar de 1.
# Función de densidad de probabilidad para una distribución normal def funcion_densidad_probabilidad(x, media, desviacion): import numpy as np return np.exp((-(x - media)**2) / (2 * desviacion**2)) / (desviacion * np.sqrt(2 * np.pi)) # Importar la biblioteca NumPy import numpy as np # Generar 1000 datos aleatorios de una distribución normal estándar datos = np.random.normal(0, 1, 1000) # Mostrar los primeros 10 datos generados print(datos[:10])
Visualización de una Distribución Normal
# Importar las bibliotecas NumPy y Matplotlib import numpy as np import matplotlib.pyplot as plt # Generar datos de una distribución normal con media 0 y desviación estándar 1 datos_normal = np.random.normal(0, 1, 10000) # Generar datos de una distribución normal con media 2 y desviación estándar 0.5 datos_personalizados = np.random.normal(2, 0.5, 10000) # Crear un histograma para los datos generados plt.hist(datos_normal, bins=30, density=True, alpha=0.5, color='b', label='Media 0, Desviación 1') plt.hist(datos_personalizados, bins=30, density=True, alpha=0.5, color='r', label='Media 2, Desviación 0.5') # Agregar etiquetas y leyendas plt.xlabel('Valores') plt.ylabel('Densidad de Probabilidad') plt.title('Distribución Normal') plt.legend() # Mostrar el histograma plt.show()
Cálculo de Probabilidades en la Distribución Normal
# Importar la biblioteca SciPy import scipy.stats as stats # Definir la media y la desviación estándar media = 3 desviacion = 1 # Calcular la probabilidad de que x esté entre 2 y 4 probabilidad = stats.norm.cdf(4, loc=media, scale=desviacion) - stats.norm.cdf(2, loc=media, scale=desviacion) print("La probabilidad de que x esté entre 2 y 4 es:", probabilidad)
En estos ejemplos, exploramos la generación de datos aleatorios, visualización de distribuciones normales y cálculo de probabilidades en la distribución normal en Python. La distribución normal es fundamental en estadísticas y se utiliza en una amplia gama de aplicaciones para modelar datos del mundo real.