Utilizando Gráficas Multivariantes con Python

 Introducción.- 

La teoría detrás de las gráficas de caja o "boxplots" se basa en proporcionar una representación visual de la distribución estadística de un conjunto de datos. Aquí te explico los componentes clave y cómo se construyen:

Cuartiles: Las gráficas de caja utilizan cuartiles para dividir los datos. El conjunto de datos se divide en cuatro partes iguales:

Q1 (Cuartil inferior): Representa el 25% de los datos.

Q2 (Mediana o segundo cuartil): El punto medio de los datos.

Q3 (Cuartil superior): Representa el 75% de los datos.

Caja: La caja en sí misma muestra el rango intercuartílico (RIC), que es la distancia entre el primer y el tercer cuartil (Q3 - Q1). Dentro de la caja, se marca la mediana (Q2).

Bigotes (Whiskers): Se extienden desde la caja hasta los valores más altos y más bajos dentro de un rango determinado. Este rango suele ser 1.5 veces el RIC por encima de Q3 y por debajo de Q1. Los datos fuera de este rango se consideran valores atípicos.

Valores Atípicos: Son aquellos puntos que caen fuera del rango de los bigotes. Se marcan generalmente con puntos o círculos.

Variación de Datos: Los boxplots son útiles para comparar la variación entre diferentes conjuntos de datos y para identificar si los datos están sesgados.

A continuación se tiene un ejemplo con código python:

import matplotlib.pyplot as plt
import numpy as np

# Generamos algunos datos de ejemplo
data = np.random.normal(0, 1, 100)

# Creamos un boxplot
plt.boxplot(data)

# Añadimos títulos y etiquetas
plt.title("Boxplot de Datos Aleatorios")
plt.ylabel("Valores")
plt.xlabel("Ejemplo de datos aleatorios normal")

# Mostramos el gráfico
plt.show()


Gráfica curvas de Andrew.-

La gráfica de las curvas de Andrews es una técnica de visualización de datos multidimensionales que transforma cada observación de un conjunto de datos en una función continua y luego representa estas funciones en un gráfico bidimensional. La teoría detrás de este método se basa en los siguientes principios fundamentales:

Transformación de Fourier: Las curvas de Andrews usan una serie de Fourier para transformar los datos multidimensionales en funciones continuas. Cada observación en el conjunto de datos se convierte en una serie de Fourier, que es básicamente una suma ponderada de funciones seno y coseno.

Visualización de Datos Multidimensionales: La principal ventaja de las curvas de Andrews es su capacidad para representar conjuntos de datos con muchas dimensiones (variables) en un espacio bidimensional, lo que facilita la identificación de patrones, agrupaciones y anomalías.

Ecuación  de las curvas de Andrew.-  Una observación con $$n$$ atributos, comunmente llamados variables, $$x_1, x_2, \ldots, x_n$$ se transforma en la función $f(t)$$ definida por:

$$f(t)=\frac{x_1}{\sqrt{2}}+x_2 sin(t) + x_3 cos(t) + x_4 sin (2t) + \ldots$$

Donde: t varía generalmente entre  $$-\pi, \pi $$.

Identificación de Patrones: Las curvas similares en el gráfico indican observaciones con características similares. Esto es útil para la identificación de clústeres o grupos en los datos.

Aplicaciones en Análisis de Datos: Las curvas de Andrews son especialmente útiles en el análisis exploratorio de datos, permitiendo visualizar y entender la estructura subyacente de los datos de alta dimensión.

Limitaciones: Aunque es una herramienta poderosa para visualizar datos de alta dimensión, puede ser difícil interpretar cuando los conjuntos de datos son muy grandes o cuando hay demasiado solapamiento entre las curvas.

A continuación se presenta un ejemplo en código python:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets

# Cargamos el conjunto de datos Iris
iris = datasets.load_iris()
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)

# Añadimos la columna de especies para el color en la gráfica
iris_df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)

# Crear la gráfica de curvas de Andrews
pd.plotting.andrews_curves(iris_df, 'species')

# Añadir títulos y etiquetas
plt.title('Curvas de Andrews del Conjunto de Datos Iris')
plt.xlabel('Ángulo')
plt.ylabel('Amplitud')

# Mostrar la gráfica
plt.show()

Cuyo resultado es la siguiente gráfica que muestra las curvas de andres para tres varibles del conjunto de datos IRIS, esetos son: setosa, versicolor, virginica.


Scatters plot.-

Los gráficos de dispersión multivariantes, también conocidos como scatter plots multivariantes, son una herramienta poderosa en el análisis de datos para visualizar relaciones entre múltiples variables numéricas. Estos gráficos proporcionan una forma intuitiva de identificar correlaciones, tendencias y patrones en conjuntos de datos con varias dimensiones. A continuación, te describo la teoría detrás de estos gráficos:

Visualización de Relaciones entre Variables: En su forma más básica, un gráfico de dispersión muestra dos variables como un conjunto de puntos en un plano bidimensional, donde cada eje representa una variable. En un scatter plot multivariante, esta idea se expande para incluir más de dos variables.

Incorporación de Múltiples Variables: Esto se logra generalmente de varias maneras:

Uso de Color: Diferentes colores pueden representar categorías o valores de una tercera variable.

Tamaño de Puntos: El tamaño de cada punto en el gráfico puede representar el valor de otra variable.

Forma de Puntos: Variar la forma de los puntos según categorías o valores de otra variable.

Interpretación: Los gráficos de dispersión multivariantes son útiles para:

Identificar correlaciones entre variables: Por ejemplo, si dos variables aumentan conjuntamente, pueden tener una correlación positiva.

Detectar agrupaciones o patrones: La proximidad de los puntos puede indicar agrupaciones naturales en los datos.

Identificar comportamientos atípicos o valores extremos en los datos.

Dimensionalidad: Aunque los gráficos de dispersión son intrínsecamente bidimensionales, la incorporación de colores, tamaños y formas permite representar dimensiones adicionales. Sin embargo, la interpretación se vuelve más difícil a medida que se agregan más variables.

Aplicaciones: Estos gráficos son ampliamente utilizados en estadística, ciencia de datos y en diversas disciplinas que requieren análisis de datos, como la economía, la biología y la ingeniería.

Herramientas y Técnicas: Las bibliotecas de visualización en Python como Matplotlib, Seaborn y Plotly ofrecen funcionalidades robustas para crear gráficos de dispersión multivariantes.

A continuación se tiene un ejemplo en código python:

import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import pandas as pd

# Cargar el conjunto de datos Iris
iris = load_iris()
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)

# Crear un gráfico de dispersión multivariante
# Usaremos el color para diferenciar las especies y el tamaño del punto para representar la longitud del pétalo
plt.figure(figsize=(10, 6))
scatter = sns.scatterplot(x='sepal length (cm)', y='sepal width (cm)',
                          hue='species', size='petal length (cm)',
                          sizes=(50, 200), data=iris_df)

# Añadir título y ajustar leyenda
plt.title('Scatter Plot Multivariante del Conjunto de Datos Iris')
scatter.legend(loc='upper right', title='Especies y Tamaño del Pétalo')

# Mostrar el gráfico
plt.show()

El cuál muestra un gráfico scatter plot multivariante, donde se observa información sobre el tamaño del petalo segun especie donde el tamaño del petalo es proporcionalmente represtado segun el radio del putno seleccionado especie.


Conclusión.-

En conclusión se puede aseverar que las gráficas disponibles en python brindan una alternativa en torno al análisis gráfico de datos y su respectiva visualización, existen más modulos con analisis específico de datos en python, le animo a que se estudie estos modulos.



Comentarios