Uma história de duas variáveis

Introdução à Regressão com statsmodels em Python

Maarten Van den Broeck

Content Developer at DataCamp

Dados de seguro automóvel sueco

  • Cada linha representa uma região geográfica na Suécia.
  • Há 63 linhas.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Introdução à Regressão com statsmodels em Python

Estatísticas descritivas

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
Introdução à Regressão com statsmodels em Python

O que é regressão?

  • Modelos estatísticos para explorar a relação entre uma variável resposta e algumas variáveis explicativas.
  • Dado os valores das variáveis explicativas, você pode prever os valores da variável resposta.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Introdução à Regressão com statsmodels em Python

Jargão

Variável resposta (também conhecida como variável dependente)

A variável que você quer prever.

Variáveis explicativas (também conhecidas como variáveis independentes)

As variáveis que explicam como a variável resposta vai mudar.

Introdução à Regressão com statsmodels em Python

Regressão linear e logística

Regressão linear

  • A variável resposta é numérica.

Regressão logística

  • A variável resposta é lógica.

Regressão linear/logística simples

  • Há apenas uma variável explicativa.
Introdução à Regressão com statsmodels em Python

Visualizando pares de variáveis

import matplotlib.pyplot as plt
import seaborn as sns

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

plt.show()

Um gráfico de dispersão do pagamento total versus o número de sinistros. O pagamento aumenta conforme o número de sinistros aumenta.

Introdução à Regressão com statsmodels em Python

Adicionando uma linha de tendência

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

O mesmo gráfico de dispersão visto anteriormente, agora com uma linha de tendência adicional calculada via regressão linear. Ela fornece um ajuste razoável aos dados.

Introdução à Regressão com statsmodels em Python

Fluxo do curso

Capítulo 1

Visualizando e ajustando modelos de regressão linear.

Capítulo 2

Fazendo previsões a partir de modelos de regressão linear e entendendo os coeficientes do modelo.

Capítulo 3

Avaliando a qualidade do modelo de regressão linear.

Capítulo 4

O mesmo, mas com modelos de regressão logística

Introdução à Regressão com statsmodels em Python

Pacotes Python para regressão

statsmodels

  • Otimizado para insights (foco neste curso)

scikit-learn

  • Otimizado para previsão (foco em outros cursos da DataCamp)
Introdução à Regressão com statsmodels em Python

Vamos praticar!

Introdução à Regressão com statsmodels em Python

Preparing Video For Download...