Introducción al análisis exploratorio de datos

1

¿Qué es y para qué sirve el análisis exploratorio de datos?

2

¿Cómo hacer un análisis exploratorio de datos?

3

Tipos de análisis de datos

4

Tipos de datos y análisis de variables

5

Herramientas de software para el análisis exploratorio de datos

6

Conociendo nuestros datos: palmerpenguins

7

Recolección de datos, limpieza y validación

8

Ejercicio de validación de datos

Quiz: Introducción al análisis exploratorio de datos

Análisis univariado

9

Explorando una variable categórica: conteos y proporciones

10

Estadística descriptiva aplicada: medidas de tendencia central

11

Estadística descriptiva aplicada: medidas de dispersión

12

Ejercicio de obtención de medidas de dispersión

13

Estadística descriptiva aplicada: distribuciones

14

Estadística descriptiva aplicada: funciones de densidad de probabilidad

15

Bonus: Teorema del límite central

Quiz: Análisis univariado

Análisis bivariado

16

Estableciendo relaciones: gráficos de puntos

17

Estableciendo relaciones: gráficos de violín y boxplots

18

Estableciendo relaciones: matrices de correlación

19

Limitantes de los coeficientes de correlación lineal

20

Estableciendo relaciones: análisis de regresión simple

21

Limitaciones del análisis de regresión simple

Quiz: Análisis bivariado

Análisis multivariado

22

Análisis de regresión múltiple

23

Visualización del análisis de regresión múltiple

24

Análisis de regresión logística

25

Paradoja de Simpson

26

¿Qué hacer cuando tengo muchas variables?

Quiz: Análisis multivariado

Conclusiones

27

Diversidad de gráficas al explorar datos

28

Continúa aprendiendo sobre EDA

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Limitantes de los coeficientes de correlación lineal

19/28
Recursos

Aportes 20

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

El código que corresponde a El coeficiente de correlación no nos habla del impacto de la relación

np.random.seed(42)
x1 = np.linspace(0,100,100)
y1 = 0.1* x1 +3 + np.random.uniform(-2,2,size=x1.size)

sns.scatterplot(x=x1, y=y1)


x2 = np.linspace(0,100,100)
y2 = 0.5* x1 +1 + np.random.uniform(0,60,size=x2.size)

sns.scatterplot(x=x2, y=y2)

plt.legend(["1","2"])

print(np.corrcoef(x1,y1))
print(np.corrcoef(x2,y2))

No sabía que el coeficiente de Pearson era solo para relación lineal entre variables. Esto me hace re-pensar la forma en que he diseñado y analizado los resultados de muchas investigaciones.

Limitantes del Coeficiente de Correlacion

Solo nos ayuda a determinar la posible existencia de una correlación lineal; sin embargo, su ausencia no significa que no exista otro tipo de correlación.

  • Cuando la distribucion tiene un comportamiento cuadratico el coeficiente no logra detectar esa correlacion.
  • Cuando la distribucion tiene un comportamiento cubico, el coeficiente detecta la correlacion simulando que es una linea recta donde se compensa los valores por lo que hace una lectura erronea del panorama
  • Siempre visualiza los datos.
  • El coeficiente de correlacion no nos habla del impacto de la relacion. Un coeficiente de correlacion mas alto que otro no significa que la relacion entre las variables sea mejor o que el aporte al negocio de la correlacion mas alta sea mejor

Pequeño análisis que hice 😃, espero sus aportes para mejorarlo uwu

Teniendo en cuenta el análisis anterior que realizamos sobre las correlaciones de las variables

Nos enfocamos en la correlación negativa que surge entre las variables bill_length_mm y bill_depth_mm.


Si graficamos las variables en un diagrama de dispersión, nos encontramos con una dispersión que aparenta una tendencia a una correlación inexistente.

Teniendo en cuenta que estamos frente a un gráfico donde se presentan 3 variables categóricas que no fueron clasificadas (sexo del pingüino, especie e isla donde habita), analizaremos el gráfico clasificando los pingüinos por especie

Clasificadas las variables podemos analizar que si existe correlación alguna que aparenta ser de tipo lineal entre las variablesbill_length_mm y bill_depth_mm.


Vista la nueva evidencia volveremos a analizar los índices de correlaciones de cada especie.

Vista la nueva gráfica vemos un cambio notable en las correlaciones entre las variables, quedando en su mayoría correlaciones positivas y destacando de todas el año, que en las tres especies aparenta ser una correlación nula

Las variables que anteriormente mencionamos bill_length_mm y bill_depth_mm, ahora tienen una correlación positiva alta tanto en las especies Gentoo y Chinstrap, pero destaca la especie Adelie que tiene una correlación un poco menor que las otras especies

Pasaremos a analizar más a fondo la especie Adelie, ya que no parece seguir el patron normal que tienen las otras especies. El análisis de correlaciones se enfocará en la especie Adelies separados por isla.

Comparando los Adelie que habitan la isla Torgersen y Dream podemos ver que tienen una correlación similar entre sus variables

Pero destacan los Adelie en la isla Biscoe que presentan una correlación positiva fuerte entre la variable bill_length_mm y las demás variables, pero una correlación negativa sobre la combinación de la variable bill_depth_mm .

Concluimos que:

  • la correlación negativa que obtuvimos del análisis en conjunto de los pingüinos, surgen en la especie Adelie que habita la isla Biscoe.
  • La especie Adelie de las islas Biscoe presentan correlaciones positivas fuertes que son semejantes a las que vimos en otras especies, en variables que su misma especie no presenta correlaciones tan altas.
  • La especie Adelie de las islas Biscoe presenta correlaciones negativas altas en la variable bill_depth_mm, lo cual es contrario a sus vecinos de la misma especie
    • Suponemos que este factor género la correlación negativa en el análisis en conjunto de los pingüinos

El scatterplot que vemos aquí está correlacionando los datos “bill_length_mm”, y “bill_depth_mm” de TODO el dataframe que llamamos “processed_penguins_df”. Recordemos que en este dataframe están involucrados 3 clases diferentes de pinguinos, [‘Adelie’, ‘Gentoo’, ‘Chinstrap’], y todos los datos de las 3 especies se están mezclando entre sí en un mismo scatterplot por lo cual tiene sentido el caos que se está creando en la gráfica de distribucion.

Aquí les dejo el codigo que muestra la correlacion de cada especie en tres gráficos independientes uno al lado del otro donde se puede apreciar más claramente la correlacion que tienen los datos…

 
sns.FacetGrid(
    processed_penguins_df, 
    col = 'species', 
    hue= 'species'
    ).map(sns.scatterplot,
        'bill_length_mm',
        'bill_depth_mm',
        alpha= 1/2,
        s= 100
        )

Otros coeficientes de relación:

Coeficiente de correlación de Pearson

Mide la relación lineal entre dos variables continuas. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Spearman

Mide la relación monotónica entre dos variables continuas u ordinales. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables ordinales.

Coeficiente de determinación (R-squared)

Mide la proporción de la varianza en una variable que puede ser explicada por otra variable. Varía entre 0 y 1, donde 0 indica que la variable explicativa no explica la variación en la variable de respuesta y 1 indica que la variable explicativa explica toda la variación en la variable de respuesta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Kendall

Mide la relación ordinal entre dos variables. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables ordinales.

Coeficiente de correlación de Point-Biserial

Mide la relación entre una variable binaria y una variable continua. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Phi

Mide la relación entre dos variables binarias. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables nominales.

Coeficiente de correlación de Cramer

Mide la relación entre dos variables nominales. Varía entre 0 y 1, donde 0 indica no correlación y 1 indica una correlación perfecta. Funciona mejor para relaciones no lineales o variables nominales.

El gráfico cambian bastante cuando segmentamos nuestros datos por especie.

Amor Seaborn ¿Por qué? Velo tu mismo…

sns.scatterplot(
    data=neo_pre_df_peng,
    x='bill_length_mm',
    y='bill_depth_mm',
    hue='species',
    style='island'
)

print(np.corrcoef(x,y))
plt.show()

The code np.random.normal(0, 1000, x.size) generates a NumPy array of random numbers drawn from a normal (Gaussian) distribution with mean 0 and standard deviation 1000, with the size of the array being the same as the size of the input array x. In other words, it generates an array of random noise with the same shape as x. This can be useful for adding random variations or “noise” to a dataset.

Limitantes del coeficiente de correlacipon lineal de Pearson:

  • No contempla otro tipo de correlación que no sea lineal, es decir puede existir una correlación no lineal y no será detectado.

  • Se pueden obtener coeficientes altos y no significa en todos los casos una relación lineal. Ej. Relación de función cúbica.

  • No habla del impacto de la correlación. Puede exitir una correlación con mayor impacto para nuestro modelo de negocio, y tener un coeficiente moderado.

  • En todo caso se recomienda siempre visualizar los datos para hacer un mejor análisis con este coeficiente de correlación.

Buen curso pero hay muchas cosas que se repiten de otros cursos y entonces jajaja aburre tener que repetirlos pero bien 😃

19. Limitantes de los coeficientes de correlación lineal

Hasta el momento, por la representación gráfica no creo que haya una correlación lineal entre la longitud y profundidad del pico.

Los coeficientes de correlación lineal, como el coeficiente de correlación de Pearson, son útiles para medir la relación lineal entre dos variables numéricas. Sin embargo, tienen algunas limitaciones y existen otros tipos de correlación que pueden abordar estas limitaciones. A continuación, se presentan los principales tipos de correlación y sus ventajas y desventajas:

  1. Correlación de Pearson:
    • Ventajas:
      • Fácil de calcular e interpretar.
      • Proporciona información sobre la fuerza y la dirección de la relación lineal entre variables.
    • Desventajas:
      • Solo mide la relación lineal, por lo que puede no capturar relaciones no lineales entre variables.
      • Sensible a los valores atípicos y a las distribuciones no normales.
  2. Correlación de Spearman:
    • Ventajas:
      • Mide la relación monótona entre dos variables, no solo la relación lineal.
      • No asume una distribución específica de los datos.
    • Desventajas:
      • No captura relaciones no monótonas entre variables.
      • No es adecuada para variables continuas que tienen distribuciones normales.
  3. Correlación de Kendall:
    • Ventajas:
      • Mide la relación de concordancia y discordancia entre variables.
      • No asume una distribución específica de los datos.
    • Desventajas:
      • No captura relaciones no monótonas complejas entre variables.
      • Menos potente que la correlación de Pearson o Spearman.
  4. Correlación de punto biserial:
    • Ventajas:
      • Mide la relación entre una variable dicotómica y una variable continua.
      • Proporciona información sobre la asociación entre una variable binaria y una variable numérica.
    • Desventajas:
      • Solo es aplicable cuando una de las variables es dicotómica.
  5. Correlación de phi:
    • Ventajas:
      • Mide la relación entre dos variables dicotómicas.
      • Proporciona información sobre la asociación entre variables binarias.
    • Desventajas:
      • Solo es aplicable cuando ambas variables son dicotómicas.

Es importante seleccionar el tipo de correlación adecuado según las características de las variables y la naturaleza de la relación que se busca capturar. En algunos casos, también es recomendable utilizar técnicas de visualización y análisis exploratorio para comprender mejor la relación entre las variables antes de aplicar medidas de correlación.

np.random.seed(42)
x1 = np.linspace(0,100,100)
y1 = 0.1* x1 +3 + np.random.uniform(-2,2,size=x1.size)

sns.scatterplot(x=x1, y=y1)


x2 = np.linspace(0,100,100)
y2 = 0.5* x1 +1 + np.random.uniform(0,60,size=x2.size)

sns.scatterplot(x=x2, y=y2)

plt.legend(["1","2"])

print(np.corrcoef(x1,y1))
print(np.corrcoef(x2,y2))

  • Hay una correlación moderada y positiva entre bill_length_mm y bill_depth_mm. Esto significa que a medida que una variable aumenta, la otra variable también tiende a aumentar. Sin embargo, la correlación no es muy fuerte, lo que sugiere que estas dos variables no están muy estrechamente relacionadas y que pueden haber otros factores que influyan en su comportamiento.

Aqui esta el codigo del heatmap para cada especie por separado

import seaborn as sns
import matplotlib.pyplot as plt

Cargar datos de ejemplo de pinguinos

df = sns.load_dataset(‘penguins’)

Filtrar el dataframe por especie y crear un heatmap para cada especie

species = [‘Adelie’, ‘Gentoo’, ‘Chinstrap’]
fig, axs = plt.subplots(1, len(species), figsize=(12, 5))

for i, s in enumerate(species):
filtered_df = df[df[‘species’] == s]
heatmap = sns.heatmap(filtered_df.corr(), annot=True, cmap=‘coolwarm’, ax=axs[i])
heatmap.set_title('Pinguinos ’ + s)
heatmap.set_xticklabels(heatmap.get_xticklabels(), rotation=45, ha=‘right’)

plt.tight_layout()
plt.show()

Lo digo porque en esta ruta ya he visto 4 veces un tema

Se hace una revisión general de variables, donde se encuentran algunas correlaciones altas como body_mass_g con flipper_length_mm del 87%.

Debido a que en la revisión general de datos con scatterplot para bill_depth_mm vs bill_length_mm se tienen dispersiones de puntos que siguen un patrón de acuerdo a la especie, se decide hacer el análisis por especie, continuando la revisión de scatterplot de las variables bill_depth_mm vs bill_length_mm. Se adicionan mapas de calor para verificar correlaciones entre datos por especies, teniendo que la especie Gentoo tiene mayores correlaciones, seguido de Chinstrap y finalmente Adelie con las menores correlaciones entre dimensiones de los pinguinos.


creo que no hay una correlación ,por que todavía o lo hemos segmentado si los llegamos a segmentar por especies si se ve una correlación positiva

Correlaciones lineales y no lineales