Ir para o conteúdo

Regressão Linear

A regressão linear é o algoritmo mais antigo deste curso — Legendre publicou os mínimos quadrados em 1805 para ajustar órbitas de cometas, Gauss alegou tê-los usado antes, e os estudos de hereditariedade de Galton (1886) deram nome à "regressão". Dois séculos depois, ela continua sendo o primeiro modelo a experimentar em qualquer problema de regressão: rápido, interpretável e uma baseline surpreendentemente forte.

O modelo

Prever um alvo contínuo como uma soma ponderada de atributos:

\[ \hat{y} = w_0 + w_1 x_1 + w_2 x_2 + \dots + w_d x_d = w_0 + \sum_{j=1}^{d} w_j x_j \]
  • \(w_j\): a variação em \(\hat{y}\) por unidade de variação em \(x_j\), mantendo os outros atributos fixos;
  • \(w_0\) (intercepto/viés): a previsão quando todos os atributos são zero.

Em forma matricial, com uma coluna inicial de 1s absorvida em \(X\): \(\hat{y} = Xw\).

Mínimos quadrados

Escolha \(w\) para minimizar a soma dos resíduos ao quadrado — as distâncias verticais ao quadrado entre os dados e a reta ajustada:

\[ J(w) = \sum_{i=1}^{n} \big(y_i - \hat{y}_i\big)^2 = \lVert y - Xw \rVert^2 \]

Por que quadrados? Elevar ao quadrado penaliza fortemente erros grandes, gera um objetivo suave (diferenciável) e — sob ruído gaussiano — coincide com a estimação de máxima verossimilhança.

A solução em forma fechada

Igualando o gradiente a zero, \(\nabla_w J = -2X^\top(y - Xw) = 0\), obtemos as equações normais:

\[ X^\top X \, w = X^\top y \qquad\Longrightarrow\qquad \hat{w} = (X^\top X)^{-1} X^\top y \]

Para a regressão simples (um atributo) isso se reduz às fórmulas que vale a pena memorizar:

\[ \hat{w}_1 = \frac{\sum_i (x_i - \bar{x})(y_i - \bar{y})}{\sum_i (x_i - \bar{x})^2} = r_{xy}\frac{s_y}{s_x}, \qquad \hat{w}_0 = \bar{y} - \hat{w}_1 \bar{x} \]

— a inclinação é a correlação reescalonada pelos desvios padrão, e a reta sempre passa por \((\bar{x}, \bar{y})\).

Ajuste OLS com resíduos e gráfico de resíduos

O gráfico de resíduos (à direita) é o diagnóstico padrão: os resíduos devem parecer ruído sem estrutura em torno de zero. Curvatura sugere um termo não linear ausente; um formato de funil sugere variância não constante; resíduos extremos isolados apontam para outliers (lembre-se do quarteto de Anscombe).

from sklearn.linear_model import LinearRegression

model = LinearRegression().fit(X_train, y_train)
model.coef_, model.intercept_
y_pred = model.predict(X_test)

Sinta o ajuste — arraste os pontos e observe a reta perseguir o SSE mínimo. Depois arraste um ponto para bem longe e veja o quanto um único outlier pode puxar a reta (lembre-se do conjunto 3 de Anscombe):

Quando a forma fechada tem dificuldade

Inverter \(X^\top X\) custa \(O(d^3)\) e falha quando os atributos são perfeitamente colineares. Para problemas enormes ou malcondicionados, passamos para o gradiente descendente e a regularização — a próxima aula.

Suposições por trás das inferências

As previsões do OLS exigem pouco; mas interpretar coeficientes e barras de erro se apoia nas suposições clássicas:

  1. Linearidade — a relação verdadeira é (aproximadamente) linear nos atributos;
  2. Independência — os resíduos não são correlacionados entre si (cuidado com séries temporais);
  3. Homoscedasticidade — a variância dos resíduos é constante ao longo da faixa de \(\hat{y}\);
  4. Normalidade dos resíduos — necessária para intervalos de confiança e p-valores exatos;
  5. Sem multicolinearidade severaatributos altamente correlacionados tornam os coeficientes individuais instáveis (sua soma pode estar bem determinada enquanto cada um oscila muito).

Medindo a qualidade da regressão

Com resíduos \(e_i = y_i - \hat{y}_i\):

Métrica Fórmula Leitura
MAE \(\frac{1}{n}\sum \lvert e_i \rvert\) erro médio nas unidades do alvo; robusto a outliers
MSE \(\frac{1}{n}\sum e_i^2\) pune erros grandes; o objetivo de treino
RMSE \(\sqrt{\text{MSE}}\) como o MSE, mas de volta às unidades do alvo
\(1 - \frac{\sum e_i^2}{\sum (y_i - \bar{y})^2}\) fração da variância explicada; 1 = perfeito, 0 = não melhor que prever \(\bar{y}\)

O R² pode ser negativo em dados de teste — o modelo é então pior que a baseline constante \(\bar{y}\). Sempre compare com essa baseline (DummyRegressor): é constrangedor com que frequência um modelo sofisticado mal a supera.

Avalie em dados separados

Todas as métricas acima só têm sentido em dados que o modelo não viu — o tema de Validação & Vazamento de Dados.

Material de aula

Notebook da aula (em português)

Notebook prático usado em sala — Aula 09 — Regressão: abrir no Colab


Quiz