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

Análisis de regresión múltiple

22/28
Recursos

Aportes 26

Preguntas 3

Ordenar por:

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

Modelos de Regression Multiple

  • Modelo 1: Peso de los pinguinos vs longitud del pico
model_1 = (
    smf.ols(
        formula='body_mass_g ~ bill_length_mm',
        data=preprocessed_penguins_df
    )
    .fit()
)

model_1.summary()  #descripcion del modelo

De la variable independiente bill_length vemos que la pendiente es de 86.79 lo que indica que por cada cambio en milimetro de longitud del pico se genera un cambio de 86 gramos en el peso.

  • Modelo 2: Peso del pinguino vs longitud del pico, ancho del pico
model_2 = (
    smf.ols(
        formula='body_mass_g ~ bill_length_mm + bill_depth_mm',
        data=preprocessed_penguins_df
    )
    .fit()
)

model_2.summary()

El valor que relaciona el peso con la longitud del pico cambia a 74.81. Por otro lado, la variable bill_depth indica que cada cambio en milimetros del ancho del pico genera un cambio de perdida de peso en 145 gr

  • Modelo 3: Peso de los pinguinos vs longitud del pico, ancho del pico, longitud de las alas
model_3 = (
    smf.ols(
        formula='body_mass_g ~ bill_length_mm + bill_depth_mm + flipper_length_mm',
        data=preprocessed_penguins_df
    )
    .fit()
)

model_3.summary()

El valor que relaciona el peso con la longitud del pico vuelve a cambiar siendo cada vez mas pequeño. El valor que relaciona el pecho con el ancho se vuelve pequeño y positivo. El valor de relacion entre las alas y el peso es de 50. 76 teniendo mayor relevancia.

Debemos tener en cuenta el R cuadrado de cada modelo ya que es un indicador de la variabilidad obtenida por las variables contrastadas. A mayor R cuadrado, se captura mejor el comportamiento de las variables. En el primer modelo es muy bajo (0.34). En el tercer modelo es de 0.76 lo que indica que captura mejor la variabilidad de los datos

  • Modelo 4: Peso de los pinguinos vs longitud del pico, ancho del pico, longitud de las alas, sexo del pinguino donde sexo es de tipo categorica
model_4 = (
    smf.ols(
        formula='body_mass_g ~ bill_length_mm + bill_depth_mm + flipper_length_mm + C(sex)',
        data=preprocessed_penguins_df
    )
    .fit()
)

model_4.summary()

La R cuadrado es cada vez mayor lo que indica que este ultimo modelo captura mucho mejor el comportamiento de las variables. El valor de la pendiente para la variable sexo indica que los macho pesan 541 gr mas que las hembras

  • Modelo 5: Un modelo mientras mas sencillo mejor. Se debe contrastar aquellas variables que esten mas relacionadas con la variable objetivo; Esto ayuda a disminuir el error de los modelos y mejorar su efectividad de prediccion. Peso del pinguino vs longitud de las alas, sexo
model_5 = (
    smf.ols(
        formula='body_mass_g ~ flipper_length_mm + C(sex)',
        data=preprocessed_penguins_df
    )
    .fit()
)

model_5.summary()

Efectivamente, la relacion entre las alas y el sexo con el pesos del pinguino capturan mejor el comportamiento de los datos (R cuadrado de 0.81)

No me quedaba del todo claro el tema, así que encontré estos artículos que explican detalladamente cómo leer Regresión lineal múltiple y cómo Aplicar regresión Lineal múltiple
Espero sea de utilidad
👾✨

model_6 = (
    smf.ols(
        formula='body_mass_g ~ flipper_length_mm + C(sex) + C(species)',
        data= processed_penguins_df
    )
    .fit()
)
model_6.summary()
Dep. Variable:	body_mass_g	R-squared:	0.867
Model:	OLS	Adj. R-squared:	0.865
Method:	Least Squares	F-statistic:	534.0
Date:	Mon, 26 Sep 2022	Prob (F-statistic):	3.37e-142
Time:	20:37:22	Log-Likelihood:	-2364.4
No. Observations:	333	AIC:	4739.
Df Residuals:	328	BIC:	4758.
Df Model:	4		
Covariance Type:	nonrobust

no me gusta deep note hay que andar agregando celdas de texto manual y no puedes editar los short cuts ademas no es como colab que encapsula los temas y subtemas

jajaja olvidé mi báscula. ¿porqué hice eso?, te estarás preguntando, cosas que suceden jajajaja

Analisis de Regresion Multiple

Permite establecer relacion entre multiples variables. Es capaz de detectar comportamientos no lineales. Ademas, permite deducir si la relacion entre las variables puede ser la causa del comportamiento de la variable objetivo.

  • El análisis de regresión múltiple es una técnica estadística utilizada para modelar la relación entre una variable de respuesta o dependiente y dos o más variables predictoras o independientes. A diferencia del análisis de regresión simple, que utiliza solo una variable predictora, el análisis de regresión múltiple permite analizar cómo dos o más variables predictoras influyen en la variable de respuesta.

  • El objetivo del análisis de regresión múltiple es crear un modelo matemático que describa la relación entre las variables independientes y la variable dependiente. El modelo se utiliza para predecir los valores de la variable de respuesta en función de los valores de las variables predictoras. Además, el análisis de regresión múltiple puede ayudar a identificar qué variables predictoras son significativas para predecir la variable de respuesta.

En el análisis de regresión múltiple, la variable dependiente debe ser continua, mientras que las variables predictoras pueden ser continuas o categóricas. Se utilizan diferentes técnicas estadísticas para ajustar el modelo de regresión múltiple y estimar los coeficientes de las variables predictoras.


  • Otra forma de hacerlo
import statsmodels.formula.api as smf

model = smf.ols('body_mass_g ~ bill_length_mm + bill_depth_mm + species', data=penguins).fit()

print(model.summary())

Resultado

OLS Regression Results                            
==============================================================================
Dep. Variable:            body_mass_g   R-squared:                       0.828
Model:                            OLS   Adj. R-squared:                  0.826
Method:                 Least Squares   F-statistic:                     405.0
Date:                Sun, 09 Apr 2023   Prob (F-statistic):          2.64e-127
Time:                        13:47:55   Log-Likelihood:                -2470.9
No. Observations:                 342   AIC:                             4952.
Df Residuals:                     337   BIC:                             4971.
Df Model:                           4                                         
Covariance Type:            nonrobust                                         
========================================================================================
                           coef    std err          t      P>|t|      [0.025      0.975]
----------------------------------------------------------------------------------------
Intercept            -1742.7202    313.770     -5.554      0.000   -2359.914   -1125.526
species[T.Chinstrap]  -539.6864     86.942     -6.207      0.000    -710.705    -368.668
species[T.Gentoo]     1492.8283    118.444     12.604      0.000    1259.845    1725.811
bill_length_mm          55.6461      7.233      7.694      0.000      41.419      69.873
bill_depth_mm          179.0434     19.100      9.374      0.000     141.474     216.613
==============================================================================
Omnibus:                        2.423   Durbin-Watson:                   2.333
Prob(Omnibus):                  0.298   Jarque-Bera (JB):                2.433
Skew:                           0.204   Prob(JB):                        0.296
Kurtosis:                       2.929   Cond. No.                         827.
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Con las variables flipper_length_mm + sex + species se captura un buen R^2 ajustado
Un total de 0.865

model_3 = (
    smf.ols(
        formula= 'body_mass_g ~ bill_length_mm +bill_depth_mm + flipper_length_mm',
        data= processed_penguins_df
    )
    .fit()
)

model_3.summary()
Para las personas que quieran profundizar y entender mejor los modelos y la parte estadística en sí, les recomiendo el libro econometría de Dawn C. Porter, Damodar N. Gujarati, si bien es enfocado en economía, la parte estadística la explica mejor que muchos libros de estadística y de manera más fácil.
Me costo mucho entender sobre regresión múltiple, dedique más de 3 horas investigando y al fin lo logré, dejo un concepto que encontré y me ayudo mucho: la regresión múltiple es un método estadístico utilizado para comprender la relación entre una variable dependiente (la que se desea predecir) y dos o más variables independientes (predictoras o explicativas). Esta técnica se utiliza principalmente en análisis predictivos y modelado estadístico. En la regresión múltiple, se busca entender cómo las variables independientes están relacionadas con la variable dependiente y cómo estas variables independientes, en conjunto, afectan a la variable que se está intentando predecir. El objetivo es crear un modelo matemático que describa esta relación entre las variables. El modelo de regresión múltiple asume que la variable dependiente es una combinación lineal de las variables independientes, aunque puede haber adaptaciones para casos no lineales.
El curso tiene un enfoque muy fuerte hacia la aplicación de las técnicas de Análisis Exploratorio de Datos en Python, pero muy poco sobre la teoría en sí misma, que es primordial para entender, fijar y posteriormente poder aplicar el conocimiento (en cualquier plataforma). Mis expectativas eran mas altas.

Sencillamente ‘HERMOSO’:

model_5 = (
    smf.ols(
        formula = 'body_mass_g ~ flipper_length_mm + C(sex)',
        data = neo_pre_df_peng
    )
    .fit()
)

model_5.summary()

Con las variables categóricas sexo y especie es posible lograr una correlación con la masa del pinguino del 84.5%.

model_5 = (
smf.ols(
formula= ‘body_mass_g ~ C(species) + C(sex)’,
data= processed_penguins_df
)
.fit()
)

model_5.summary()

Complemento para Selección de variables en regresión lineal múltiple <https://verso.mat.uam.es/~amparo.baillo/MatEstII/RegMultVarSel.html>
cuando usamos print(model\_5.sumary()) Creo que es mas facil leer los resultdos, el meodo de imprimir que tiene esta clase parece que esta hecho para ser visualizado de esta manera, por que en forma de tabla no estan bien visible las divisiones
Si deseo aplicar un modelo pero mi dataset tiene solo variables categóricas
Colinealidad o multicolinealidad = en el caso presente es cuando se presenta una relación de asociación fuerte entre las variables explicativas, para el caso el sexo y la longitud de la aleta, siempre se debe procurar en un buen modelo disminuir este fenomeno, por eso hay que saber escoger que variables son pertinentes. Pongo un ejemplo más sencillo, supongamos que queremos medir el peso de un grupo de niños y adolescentes (variable y ) en función de la talla (variable x1), pero le agregamos otra variable que sería la edad (x2), aquí se puede presentar colinealidad ya que hay un grado de asociación entre la talla y la edad.
Minuto 8:25 = Corrección, en el modelo de regresión simple si se puede incluir una variable categórica, siempre y cuando este tratada como dummy (0,1)
OJO la elevada colinealidad no es buena en los modelos. El término colinealidad (o multicolinealidad) en Econometría se refiere a una **situación en la que dos o más variables explicativas se parecen mucho y, por tanto, resulta difícil medir sus efectos individuales sobre la variable explicada**

¿Qué es la regresión lineal múltiple?

La regresión lineal múltiple es una técnica estadística ampliamente utilizada para explorar y modelar relaciones entre variables. Antes de comenzar con su aplicación, es crucial tener en cuenta una serie de condiciones que deben cumplirse:

  1. Variable Dependiente:

    • La variable dependiente (resultado) debe ser escalar (numérica) o, alternativamente, ordinal con más de cinco categorías. Por ejemplo, podría representar niveles de ingresos, peso, número de hijos o justificación del aborto en una escala de 1 (nunca) a 10 (siempre). Esta condición es esencial para que la regresión lineal múltiple sea apropiada.
  2. Variables Independientes:

    • Las variables independientes (explicativas) pueden ser escalares (numéricas), ordinales (preferiblemente con más de cinco categorías, como el nivel de ingresos) o dummy (variables binarias con dos categorías, como 1 para ser soltero y 0 para no ser soltero).
    • Es importante tener en cuenta que las variables independientes no deben estar altamente correlacionadas entre sí para evitar problemas de multicolinealidad.
  3. Otras Condiciones Importantes:

    • Las relaciones entre las variables independientes y la variable dependiente deben ser aproximadamente lineales.
    • Los residuales (las diferencias entre los valores predichos y observados) deben seguir una distribución normal y tener varianzas iguales.
    • Aunque estas condiciones son esenciales, existen métodos para abordar violaciones de estas asunciones, y se explorarán en futuras discusiones.

En resumen, la regresión lineal múltiple es una herramienta valiosa para analizar relaciones complejas entre variables, siempre y cuando se cumplan ciertas condiciones y se realice una evaluación cuidadosa de los resultados.
https://networkianos.com/regresion-lineal-multiple/

Un aspecto crucial a considerar en las tablas proporcionadas es el P>|t|, también conocido como P-valor. Este valor indica la probabilidad de que la variable en análisis no sea significativa para explicar la variable objetivo. Normalmente, buscamos que este valor sea inferior a 0.05 (o en algunos casos, 0.01) para confirmar con suficiente certeza la significancia de la variable, y así, su idoneidad para el modelo.

En el caso específico del modelo 4, observamos que para la variable “bill_length_mm”, el P-valor es 0.619. Esto significa que con un 61.9% de confianza, este parámetro no es relevante para predecir el peso; al contrario, podría estar causando un sobreajuste en el modelo.

Sin embargo, no siempre debemos descartar los valores simplemente porque el P-valor sea elevado. Por ejemplo, en mi análisis, al agregar la variable “species” y eliminar “bill_length_mm”, obtuve los siguientes resultados:
\

Variable Coefficient Std. Error t-value P-value [0.025 0.975]
Intercept -1211.5343 567.716 -2.134 0.034 -2328.370 -94.698
C(sex)[T.Male] 435.4328 44.800 9.720 0.000 347.301 523.564
C(species)[T.Chinstrap] -78.8989 45.498 -1.734 0.084 -168.404 10.606
C(species)[T.Gentoo] 1153.9863 118.582 9.732 0.000 920.706 1387.267
bill_depth_mm 74.3830 19.708 3.774 0.000 35.612 113.154
flipper_length_mm 17.5445 2.866 6.121 0.000 11.906 23.183


Aquí, para el caso de “Chinstrap”, notamos un P-valor superior al umbral típico de corte de 0.05. No obstante, es importante recordar que este valor se compara con el de “Adelie”, el cual, como hemos observado en gráficos previos, presenta características muy similares a “Chinstrap”. Esto lo ilustramos en un gráfico de densidad:



La distribución mostrada en el gráfico es sumamente similar, lo que justifica el P-valor elevado. No obstante, en el caso de “Gentoo”, hay una marcada diferencia. Por lo tanto, resulta relevante conservar todos los valores de especie, incluso cuando uno de ellos tenga un P-valor que supere nuestro umbral de corte.

Alerta de multicolinearidad

¡Este curso esta rebueno!

Muy bien explicado.

En el minuto 10:40 creo que quiso decir pendiente en lugar de intercepto.

Crear una regresion lineal con varias variables incluyendo categoricas 15 segundos atras