Explorando Distribuciones de Datos con Histogramas

Exploring Data Distributions with Histograms

Aprende los conceptos básicos de cómo explorar las distribuciones de datos utilizando histogramas.

Un histograma es una visualización de datos que se utiliza extensamente en ciencia de datos y estadísticas para explorar la distribución de datos. Para crear un histograma, los valores de características de interés se agrupan en intervalos, y se cuenta el número total de entradas de datos dentro de los intervalos, y estos valores representan la cuenta. Un histograma es una representación gráfica de los valores de datos (variable independiente) y la cuenta (variable dependiente). Por lo general, la característica a graficar representa el eje horizontal, mientras que la cuenta es el eje vertical.

Explorando la Distribución de Datos de Altura Masculina y Femenina con Histogramas

Para ilustrar el uso de los histogramas para explorar las distribuciones de datos, utilizaremos el conjunto de datos de alturas. Este conjunto de datos contiene datos de alturas para hombres y mujeres.

# importar bibliotecas necesarias
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# obtener conjunto de datos
df = pd.read_csv('https://raw.githubusercontent.com/bot13956/Bayes_theorem/master/heights.csv')

# mostrar el encabezado del conjunto de datos
pd.head()

Histograma para Todas las Alturas

Podemos graficar la distribución de todas las alturas utilizando el siguiente código.

sns.histplot(data = df, x="height")

plt.show()

Histograma que Muestra las Categorías de Altura Masculina y Femenina

Dado que el conjunto de datos es categórico, podemos generar un histograma para las distribuciones de alturas masculina y femenina como se muestra a continuación.

sns.histplot(data=df, x="height", hue="sex")

plt.show()

Histogramas Separados para Alturas Masculinas y Femeninas

Podemos graficar histogramas separados para las alturas masculinas y femeninas como se muestra a continuación.

sns.histplot(data = df[df.sex=='Male']['height'], color='blue')

plt.show()

sns.histplot(data = df[df.sex=='Female']['height'], color='orange')

plt.show()

Histogramas con Curva de Estimación de Densidad del Núcleo

Se puede agregar una curva de estimación de densidad del núcleo (KDE, por sus siglas en inglés) para suavizar el histograma y estimar la distribución de probabilidad de los datos.

sns.histplot(data = df, x = 'height', KDE = 'True')

plt.show()

sns.histplot(data=df, x="height", hue="sex", KDE = 'True')

plt.show()

Histogramas con curvas KDE para las distribuciones de altura masculina y femenina. Imagen por el autor.

Claramente, se observa en la figura anterior que los datos de alturas son bimodales, correspondientes a las categorías masculina y femenina.

Resumen

En resumen, hemos revisado el uso de los histogramas para explorar las distribuciones de datos. Usando el conjunto de datos de alturas, mostramos que es importante generar histogramas para cada categoría en el conjunto de datos. También mostramos cómo se pueden utilizar las curvas KDE para suavizar el histograma y producir una curva de distribución continua aproximada. Benjamin O. Tayo es un físico, educador en ciencia de datos y escritor, así como el dueño de DataScienceHub. Anteriormente, Benjamin enseñaba ingeniería y física en la Universidad de Central Oklahoma, la Universidad del Gran Cañón y la Universidad Estatal de Pittsburgh.