Distribución normal de datos en Python
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.
En Distribución normal de datos en Python verás el concepto explicado en lenguaje claro y un ejemplo que puedes ejecutar en el editor de The Data Schools.
Modifica el código del ejemplo antes de pasar a la siguiente lección: la experimentación fija mejor el aprendizaje que leer pasivamente.
En Distribución normal de datos en Python verás el concepto explicado en lenguaje claro y un ejemplo que puedes ejecutar en el editor de The Data Schools.
Modifica el código del ejemplo antes de pasar a la siguiente lección: la experimentación fija mejor el aprendizaje que leer pasivamente.
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:
Ejemplo
f(x|μ,σ) = 1 / (σ√(2π)) * e^(-(x-μ)² / (2σ²))
Donde:
-
xes 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.
Ejemplo
# Importar la biblioteca NumPy
import numpy as np
# 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 dato
# Mostrar los primeros 10 datos generados
print(datos[:10])
Visualización de una Distribución Normal
Ejemplo
# 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
# 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 par
# 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.xlabel('Valores')
plt.ylabeplt.ylabel('Densidad de Probabilidad')
plt.title('Distribución Normal')
plt.leplt.legend()
# Mostrar el histog
# Mostrar el histograma
plt.show()
Cálculo de Probabilidades en la Distribución Normal
Ejemplo
# Importar la biblioteca NumPy
import numpy as np
# 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 dato
# Mostrar los primeros 10 datos generados
print(datos[:10])
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.
Practica Distribución normal de datos en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Vamos a utilizar
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.
Ejemplo
# Importar la biblioteca NumPy
import numpy as np
# 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 dato
# Mostrar los primeros 10 datos generados
print(datos[:10])
Ejercicio: Comparar dos normales
Superpone histogramas de dos distribuciones normales distintas.
Ejemplo
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1)
a = np.random.normal(0, 1, 5000)
b = np.random.normal(2, 0.5, 5000)
plt.hist(a, bins=30, density=True, alpha=0.5, label='N(0,1)')
plt.hist(b, bins=30, density=True, alpha=0.5, label='N(2,0.5)')
plt.xlabel('Valores')
plt.ylabel('Densidad')
plt.title('Distribución normal')
plt.legend()
plt.show()
Ejercicio: Números aleatorios
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.
Ejemplo
# Generar datos de una distribución normal con media 0 y desviación estándar 1
datos_normal = np.random.normal(0, 1, 10000)
print(datos_normal)
Cómo practicar
1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.