Quienes trabajamos en el mundo de los datos perdemos gran cantidad de tiempo en procesos de limpieza, transformación o carga de éstos. De hecho, es a lo que dedicamos gran parte de nuestras horas. Fácilmente más de un 80%. Sin embargo y debido a ésto precisamente, muchas veces se desatienden otras parcelas del análisis como la visualización de datos. Ayudado además, por la confianza desmedida en el modelado de datos automático (machine learning). El cual, sin conocimientos estadísticos o sin experiencia de negocio previa, puede ser contraproducente e incluso dañino para nuestros intereses como empresa.

Es por ésto que existen multitud de casuísticas que podrían dar al traste con cualquiera de nuestros proyectos de analítica. En este sentido, un caso muy conocido y muy útil para entender todo ésto, es la paradoja de Simpson.

 

Paradoja de Simpson

 

Es un fenómeno estadístico en el cual una tendencia o relación que aparece en agrupaciones de datos desaparece o se invierte cuando se combinan todos éstos.

En otras palabras, una conclusión que es válida cuando se analizan subconjuntos de datos, puede cambiar cuando se consideran los datos en su totalidad.

Ésto puede llevar a interpretaciones erróneas de negocio si no se tiene en cuenta al analizar y tomar decisiones basadas en datos. Veámoslo con un sencillo ejemplo desarrollado en Python.

# Carga de librerías básica
import numpy as np
import pandas as pd
import seaborn as sns

# Datos y dataframe de ejemplo
market = np.array(['océano azul','océano azul','océano azul','océano rojo','océano rojo','océano rojo'])
pmi = np.array([0.1,0.2,0.3,0.7,0.8,0.9])
sales = np.array([50,60,70,10,20,30])

df = pd.DataFrame({'pmi':pmi, 'mercado':market, 'ventas':sales})

Una manera sencilla de visualizar los datos y llevar a cabo el ajuste de un modelo de regresión lineal básico es a través de la función regplot() de la librería Seaborn de Python, la cual combina un gráfico de dispersión (scatter plot) con uno de regresión. 

sns.regplot(x='ventas', y='pmi', data=df);
Regresión lineal de datos para demostrar Paradoja de Simpson

Regresión lineal de datos: PMI y Ventas.

Además de regplot(), Seaborn tiene la función lmplot(). Ambas están estrechamente relacionadas. Pero mientras la primera es una función a nivel de ejes, la segunda es una función a nivel de figura que combina reregplot() y FacetGrid.

En el caso concreto de FaceGrid, ésta es una clase que mapea un conjunto de datos en varios ejes dispuestos en una cuadrícula de filas y columnas que corresponden a niveles de variables en el conjunto de datos. También puede representar niveles de una tercera variable con el parámetro hue, que traza diferentes subconjuntos de datos en diferentes colores.

Por lo tanto, se puede pensar en lmplot() como una interfaz para ajustar modelos de regresión a través de subconjuntos condicionados de un dataset.
 
sns.lmplot(x='ventas', y='pmi', hue='mercado', data=df, markers=["o", "x"], palette="Set2");
Regresión lineal de datos con Paradoja de Simpson visualizada

Regresiones lineales teniendo en cuenta la Paradoja de Simpson.

A veces los artículos no tiene porque ser complejos para ayudarnos en nuestro día a día. Espero que éste sea prueba de ello. Para mí, el conocer y el saber interpretar este tipo de casuísticas es lo que realmente da valor y diferencia a los perfiles en torno al Análisis de Datos. Si quieres seguir aprendiendo sobre este tipo de implementaciones de Analítica avanzada o saber más en torno al Marketing Digital, te invito a que visites el resto de artículos de mi Blog. ¡Te espero en el siguiente artículo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *