Análisis bivariante y multivariante
Diagramas de dispersión, gráficos de pares, mapas de calor de correlaciones y estadísticas agrupadas.
Análisis bivariante y multivariante es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
De una variable a varias
El análisis bivariante estudia la relación entre dos variables; el análisis multivariante examina varias a la vez.
El objetivo es descubrir qué características varían conjuntamente, detectar interacciones y decidir qué variables permiten predecir la variable objetivo.
Gráficos de dispersión con plt.scatter
Un gráfico de dispersión representa dos variables numéricas una frente a la otra; cada punto corresponde a una fila. Permite descubrir tendencias, grupos y valores atípicos.
import matplotlib.pyplot as plt
import seaborn as sns
plt.scatter(df["height"], df["weight"], alpha=0.4)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.show()Interpretación de un gráfico de dispersión
Observe la dirección (ascendente = relación positiva, descendente = negativa), la fuerza (banda estrecha frente a nube dispersa) y la forma (lineal frente a curva).
Añada un hue con sns.scatterplot para colorear los puntos según una categoría y revelar la estructura de los grupos.
sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()Correlación con df.corr()
df.corr() calcula la correlación de Pearson por pares entre las columnas numéricas: un número entre -1 y +1.
- +1 → relación lineal positiva perfecta
- 0 → ninguna relación lineal
- -1 → relación lineal negativa perfecta
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))Mapas de calor de correlación
Una matriz de correlación es más fácil de leer como un mapa de calor. Pase annot=True para mostrar los valores dentro de cada celda.
Use un mapa de colores divergente (por ejemplo, coolwarm) para que las correlaciones positivas y negativas tengan colores distintos.
corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()Detección de la multicolinealidad
Cuando dos características tienen una correlación muy alta (por ejemplo, > 0.9), contienen información redundante. Esto se denomina multicolinealidad y puede desestabilizar los modelos lineales.
El mapa de calor permite detectar rápidamente los pares redundantes para poder eliminar uno de ellos.
corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))La correlación no implica causalidad
Una correlación fuerte no significa que una variable cause la otra. Ambas podrían estar determinadas por una tercera variable oculta, o la relación podría ser fruto de la coincidencia.
Use la correlación para generar hipótesis y, después, valídelas mediante el conocimiento del dominio y un análisis controlado.
Gráficos de pares con sns.pairplot
sns.pairplot dibuja una cuadrícula de gráficos de dispersión para cada par de columnas numéricas, con histogramas o KDE en la diagonal.
Es la forma más rápida de examinar visualmente todas las relaciones bivariantes a la vez. Limite el número de columnas en conjuntos de datos grandes, ya que su crecimiento es cuadrático respecto al número de columnas.
sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()Diagramas de caja agrupados
Para relacionar una variable numérica con una categórica, coloque la categoría en el eje x de un diagrama de caja. Así podrá comparar de inmediato las distribuciones entre grupos.
sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()Agregaciones agrupadas
Los números complementan a los gráficos. groupby junto con agg resume una columna numérica por categorías.
Esta es la forma tabular del análisis multivariante: compare medias, medianas y recuentos uno al lado del otro.
summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))Gráficos multivariantes con codificaciones
Puede incluir tres o más variables en un solo gráfico mediante codificaciones visuales: x, y, color (hue) y tamaño.
Esto muestra cómo cambian las relaciones en una tercera dimensión sin tener que crear gráficos independientes.
sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()Comprobación rápida: rango de correlación
Ejecuta df.corr() y observa un valor de -0.85 entre dos características.
Resumen: análisis bivariante y multivariante
Ahora puede explorar las relaciones entre variables:
plt.scatter/sns.scatterplotpara dos variables numéricasdf.corr()+sns.heatmap(annot=True)para la matriz de correlación- Las correlaciones altas señalan multicolinealidad (elimine las características redundantes)
sns.pairplotpara obtener una visión general de todos los pares- Diagramas de caja agrupados y
groupby().agg()para relacionar variables numéricas y categóricas
A continuación, relacionaremos directamente las características con la variable objetivo.
Preguntas frecuentes
¿La lección «Análisis bivariante y multivariante» es gratis?
Sí — el texto completo de «Análisis bivariante y multivariante» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Análisis bivariante y multivariante»?
Diagramas de dispersión, gráficos de pares, mapas de calor de correlaciones y estadísticas agrupadas. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Análisis bivariante y multivariante»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Flujo de trabajo de EDA y perfilado de datos
- Análisis univariante
- Análisis bivariante y multivariante
- Distribución de características y análisis del objetivo