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:

  • 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.

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])
  
Abrir en editor

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()
  
Abrir en editor

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)
  
Abrir en editor

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.