Una historia de dos variables

Introducción a la regresión con statsmodels en Python

Maarten Van den Broeck

Content Developer at DataCamp

Datos de seguros de autos en Suecia

  • Cada fila representa una región de Suecia.
  • Hay 63 filas.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Introducción a la regresión con statsmodels en Python

Estadísticos descriptivos

import pandas as pd
print(swedish_motor_insurance.mean())
n_claims             22.904762
total_payment_sek    98.187302
dtype: float64
print(swedish_motor_insurance['n_claims'].corr(swedish_motor_insurance['total_payment_sek']))
0.9128782350234068
Introducción a la regresión con statsmodels en Python

¿Qué es la regresión?

  • Modelos estadísticos para explorar la relación entre una variable respuesta y variables explicativas.
  • Con valores de las explicativas, puedes predecir la respuesta.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Introducción a la regresión con statsmodels en Python

Jerga

Variable respuesta (también llamada dependiente)

La variable que quieres predecir.

Variables explicativas (también llamadas independientes)

Variables que explican cómo cambia la respuesta.

Introducción a la regresión con statsmodels en Python

Regresión lineal y logística

Regresión lineal

  • La variable respuesta es numérica.

Regresión logística

  • La variable respuesta es booleana.

Regresión lineal/logística simple

  • Solo hay una variable explicativa.
Introducción a la regresión con statsmodels en Python

Visualizar pares de variables

import matplotlib.pyplot as plt
import seaborn as sns

sns.scatterplot(x="n_claims",
                y="total_payment_sek",    
                data=swedish_motor_insurance)

plt.show()

Un diagrama de dispersión del pago total frente al número de siniestros. El pago aumenta al aumentar los siniestros.

Introducción a la regresión con statsmodels en Python

Añadir una tendencia lineal

sns.regplot(x="n_claims",
            y="total_payment_sek",
            data=swedish_motor_insurance,
            ci=None)

El mismo diagrama de dispersión anterior, ahora con una línea de tendencia calculada por regresión lineal. Ajusta razonablemente los datos.

Introducción a la regresión con statsmodels en Python

Flujo del curso

Capítulo 1

Visualizar y ajustar modelos de regresión lineal.

Capítulo 2

Predecir con modelos lineales y entender los coeficientes.

Capítulo 3

Evaluar la calidad del modelo lineal.

Capítulo 4

Lo mismo, pero con regresión logística.

Introducción a la regresión con statsmodels en Python

Paquetes de Python para regresión

statsmodels

  • Optimizado para obtener insight (enfocado en este curso)

scikit-learn

  • Optimizado para predicción (tratado en otros cursos de DataCamp)
Introducción a la regresión con statsmodels en Python

¡Vamos a practicar!

Introducción a la regresión con statsmodels en Python

Preparing Video For Download...