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 15

Preguntas 3

Ordenar por:

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

o inicia sesión.

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)

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

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
👾✨

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.

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()
  • 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.

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()

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