Regressão Multivariada e seus problemas

, editado •0•0Comment iconComment iconComment iconComment icon

Regressão linear múltipla: cálculo dos coeficientes por matrizes e os problemas de multicolinearidade, sobreajuste, dados ausentes e valores extremos.

Editar artigo

A regressão multivariada (também chamada de regressão linear múltipla) estende a regressão linear simples para mais de uma variável independente (X), permitindo modelar situações em que vários fatores influenciam a variável dependente (Y).

Exemplo: prever o preço de uma casa (Y) com base no tamanho (X₁), no número de quartos (X₂) e na localização (X₃). Variáveis qualitativas como a localização entram no modelo como variáveis indicadoras (0 ou 1), uma para cada bairro menos um.

A equação geral é:

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_k X_k + \epsilon \]

Onde:

  • \( \beta_0 \): intercepto (valor previsto de Y quando todos os X valem 0);
  • \( \beta_1, \beta_2, \dots, \beta_k \): coeficientes de cada variável. Cada um mede a variação esperada em Y quando aquele X aumenta 1 unidade e os demais ficam constantes;
  • \( \epsilon \): erro aleatório, que supomos ter média zero.

Como Calcular os Coeficientes?

Usamos o método dos mínimos quadrados ordinários (MQO, ou OLS em inglês), que escolhe os coeficientes que minimizam a soma dos quadrados dos resíduos:

\[ \min \sum (Y_i - \hat{Y}_i)^2 \]

Passo a passo:

  1. Montar a matriz de projeto (X):
    • incluir uma coluna de 1 para o intercepto (\( \beta_0 \));
    • exemplo para 3 variáveis e \( n \) observações: \[ X = \begin{bmatrix} 1 & X_{11} & X_{12} & X_{13} \\ 1 & X_{21} & X_{22} & X_{23} \\ \vdots & \vdots & \vdots & \vdots \\ 1 & X_{n1} & X_{n2} & X_{n3} \end{bmatrix} \]
  2. Calcular os coeficientes: \[ \hat{\beta} = (X^T X)^{-1} X^T Y \]
    • \( X^T \): matriz transposta de X;
    • \( (X^T X)^{-1} \): inversa do produto \( X^T X \).

Para que a inversa exista, nenhuma coluna de X pode ser combinação exata das outras, e é preciso ter mais observações do que coeficientes: com \( k \) variáveis, o modelo estima \( k + 1 \) coeficientes.

Uma regressão multivariada usa 50 observações e 3 variáveis independentes, com intercepto. Qual é a dimensão da matriz de projeto X?

Loading icon

Gabarito: 50 × 4 — uma linha por observação e uma coluna para cada variável, mais a coluna de 1 do intercepto. A opção 50 × 3 esquece essa coluna; 4 × 4 é a dimensão de X transposta vezes X.

Exercício Prático

Dados:

Tamanho (X₁)Quartos (X₂)Preço (Y)
502300
603400
702350

Calcule:

  1. A equação de regressão multivariada.
  2. O R², e interprete-o.

Resposta: com 3 observações e 3 coeficientes (\( \beta_0, \beta_1, \beta_2 \)), o sistema tem solução exata. Subtraindo a 1ª linha da 3ª: \( 50 = 20\beta_1 \), logo \( \beta_1 = 2{,}5 \). Subtraindo a 1ª da 2ª: \( 100 = 10\beta_1 + \beta_2 \), logo \( \beta_2 = 75 \). Por fim, \( \beta_0 = 300 - 50 \times 2{,}5 - 2 \times 75 = 25 \):

\[ \hat{Y} = 25 + 2{,}5X_1 + 75X_2 \]

O R² é exatamente 1, porque a equação passa por todos os pontos. Mas isso não quer dizer que o modelo é perfeito: com tantos coeficientes quanto observações, sempre se consegue um ajuste exato, não sobra nenhum grau de liberdade para medir o erro e nada garante que o modelo acerte uma casa nova. É o caso extremo do sobreajuste, que veremos a seguir.

Problemas com Múltiplas Variáveis

1. Multicolinearidade: Quando as Variáveis se Confundem

A multicolinearidade ocorre quando duas ou mais variáveis independentes (X) estão altamente correlacionadas, o que torna difícil separar o efeito de cada uma sobre a variável dependente (Y).

Exemplo: suponha que queremos prever o preço de um carro (Y) usando a idade do carro (X₁) e a quilometragem (X₂). O problema é que idade e quilometragem andam juntas (carros mais velhos tendem a ter mais quilômetros). Isso infla a variância (os erros padrão) dos coeficientes, tornando as estimativas instáveis e difíceis de interpretar: os coeficientes mudam muito quando se acrescentam ou retiram poucos dados, podem até trocar de sinal, e o teste t pode concluir que uma variável não é significativa quando, na verdade, ela é importante, mas sua contribuição está sendo "roubada" pela outra. A pergunta "a quilometragem realmente afeta o preço, ou é só um efeito da idade?" fica sem resposta.

Como detectar: faça uma matriz de correlação entre as variáveis independentes e observe os pares com correlação de 0,8 ou mais (em valor absoluto). Uma medida mais completa é o VIF (fator de inflação da variância) de cada variável:

\[ VIF_j = \frac{1}{1 - R_j^2} \]

em que \( R_j^2 \) é o R² da regressão da variável \( X_j \) contra as outras variáveis independentes. Valores acima de 5, ou de 10 pelos critérios mais tolerantes, indicam multicolinearidade preocupante.

Soluções: remover variáveis redundantes (por exemplo, manter só a idade ou só a quilometragem), ou combinar as variáveis correlacionadas em componentes com a Análise de Componentes Principais (PCA), de modo que duas variáveis possam ser resumidas por um único componente.

Na tabela abaixo, altura e peso têm correlação de 0,99. A terceira coluna é o primeiro componente principal das duas variáveis padronizadas, e sozinho ele resume 99,7% da variação das duas. Assim, você pode deixar as duas primeiras colunas de fora da regressão e usar apenas a terceira:

Altura (cm)Peso (kg)PCA (1º componente)
17065−0,09
180801,46
16055−1,36

O preço dessa solução é a interpretação: o coeficiente do componente não diz mais o efeito de 1 cm ou de 1 kg, e sim o efeito de "ser maior" nas duas medidas ao mesmo tempo.

Em um modelo de preço de carros, idade e quilometragem têm correlação de 0,95. O que se deve esperar ao incluir as duas na regressão?

Loading icon

Gabarito: Erros padrão inflados e coeficientes instáveis, que podem até parecer não significativos — as duas variáveis carregam quase a mesma informação, e o modelo não consegue separar o efeito de cada uma. O modelo ainda pode ser estimado (isso só falharia com correlação exatamente 1), e o R² não diminui ao acrescentar uma variável.

Ao regredir a variável X1 contra as demais variáveis independentes, obteve-se R² = 0,90. Qual é o VIF de X1?

Loading icon

Gabarito: 10 — VIF = 1/(1 menos 0,90) = 1/0,10 = 10, no limite em que a maioria dos critérios já considera a multicolinearidade grave. A opção 1,11 é 1/0,90, que usa o R² no lugar de 1 menos R².

2. Sobreajuste (Overfitting): Quando o Modelo Decora os Dados

O sobreajuste (overfitting) ocorre quando o modelo se ajusta demais aos dados de treinamento, capturando até o ruído (variações aleatórias), e vai mal com dados novos.

Exemplo: prever as notas dos alunos (Y) com horas de estudo (X₁), número de lápis (X₂) e cor da mochila (X₃). Incluir a cor da mochila, que é irrelevante, pode fazer o modelo memorizar padrões que não existem. Quando o modelo atribui importância a fatores aleatórios, ele perde capacidade de generalização, já que essas "regras" inventadas não se repetem na realidade. Além disso, variáveis sem relação com o resultado consomem graus de liberdade e aumentam a incerteza das estimativas das variáveis realmente importantes, como as horas de estudo. Por isso, menos é mais: usar só variáveis relevantes produz um modelo mais simples, robusto e confiável.

Repare que o R² comum nunca diminui quando se acrescenta uma variável, mesmo irrelevante. Por isso, para comparar modelos com números diferentes de variáveis, use o R² ajustado, que desconta o número de variáveis.

Regressão linear simples e Regressão multivariada com overfitting
Regressão linear simples e Regressão multivariada com overfitting

Soluções:

  • Validação cruzada (k-fold): divida os dados em partes, treine o modelo em umas e teste nas outras. Se o R² no treino for 0,99 e no teste for 0,60, há sobreajuste.
  • Remover variáveis não significativas (p-valor > 0,05), uma de cada vez, reavaliando o modelo.
  • Usar critérios de informação (AIC ou BIC) para verificar se tantas variáveis são realmente necessárias.

O AIC (critério de informação de Akaike) e o BIC (critério de informação bayesiano) comparam modelos equilibrando a qualidade do ajuste e a complexidade (o número de parâmetros). O AIC foi proposto por Hirotugu Akaike em 1974 e é calculado por \( AIC = 2k - 2\ln(L) \), em que \( k \) é o número de parâmetros e \( L \) é a verossimilhança máxima do modelo. Quanto menor o AIC, melhor o equilíbrio entre ajuste e simplicidade. Já o BIC, também chamado de critério de Schwarz, foi proposto por Gideon Schwarz em 1978: \( BIC = k\ln(n) - 2\ln(L) \), em que \( n \) é o tamanho da amostra. Como \( \ln(n) \) passa de 2 a partir de \( n = 8 \), o BIC penaliza cada parâmetro mais que o AIC na maioria das amostras e tende a escolher modelos mais simples. Na prática, o AIC costuma ser preferido quando o objetivo é prever bem, e o BIC quando o objetivo é identificar quais variáveis realmente fazem parte do modelo.

Ao testar um modelo, você obtém R² = 0,98 nos dados de treino e R² = 0,55 nos dados de teste. Qual o diagnóstico mais provável?

Loading icon

Gabarito: Sobreajuste: o modelo decorou o ruído dos dados de treino — a queda grande do treino para o teste é o sinal clássico. Um modelo simples demais iria mal nos dois conjuntos, e não só no teste.

Com n = 100, o modelo A tem k = 3 e ln L = −120; o modelo B tem k = 6 e ln L = −116. O que dizem o AIC e o BIC?

Loading icon

Gabarito: O AIC prefere B e o BIC prefere A — AIC: A = 6 + 240 = 246 e B = 12 + 232 = 244 (B menor). BIC: A = 3 × 4,61 + 240 ≈ 253,8 e B = 6 × 4,61 + 232 ≈ 259,6 (A menor). A penalidade maior do BIC por parâmetro faz a diferença.

3. Dados Ausentes e Valores Extremos: Quando os Dados Enganam

Quanto mais variáveis, maior a chance de ter de lidar com valores extremos ou com dados ausentes.

Os dados ausentes podem surgir por falta de resposta em pesquisas ou por falhas técnicas, como sensores descalibrados. Por exemplo, em um estudo médico em que 30% dos pacientes omitiram a renda, essa lacuna pode enviesar a análise. Há duas abordagens principais: excluir as linhas incompletas (o que só é seguro quando os dados faltam de forma totalmente aleatória) ou usar técnicas de imputação, como preencher com a média ou a mediana, estimar o valor por regressão a partir das outras variáveis ou usar o K-NN, que preenche com base nas observações mais parecidas.

Valores extremos, como um salário de R$ 5 milhões em uma amostra com média de R$ 10 mil, podem distorcer completamente os resultados do modelo. Eles podem ser identificados por boxplots (pontos a mais de 1,5 vez o intervalo interquartil abaixo do 1º quartil ou acima do 3º) ou por escores Z (valores absolutos acima de 3). Para reduzir seu efeito, aplicam-se transformações logarítmicas ou de Box-Cox, que diminuem a disparidade; a winsorização (substituição dos valores além de um percentil, como 1% ou 99%, pelo próprio valor desse percentil); ou, em casos justificáveis, a remoção. O tratamento adequado preserva a robustez do modelo sem perder informação importante.

Exercício Prático: Multicolinearidade

Tamanho (m²)QuartosIdade (anos)Preço (R$)
5025300.000
60310400.000
7023350.000
80415200.000

Perguntas:

  1. Há multicolinearidade entre "Tamanho" e "Quartos"? Calcule a correlação.
  2. E entre "Quartos" e "Idade"?
  3. É possível estimar uma regressão confiável do preço com as três variáveis usando só estas 4 casas?

Respostas:

  1. A correlação entre tamanho e quartos é \( r \approx 0{,}67 \): moderada, abaixo do limite de 0,8. Pela regra da matriz de correlação, não é multicolinearidade grave.
  2. A correlação entre quartos e idade é \( r \approx 0{,}99 \): multicolinearidade fortíssima. Nesta amostra, as casas com mais quartos são justamente as mais velhas, e o modelo não teria como separar os dois efeitos.
  3. Não. São 4 observações para 4 coeficientes (intercepto e três variáveis): o ajuste é exato (R² = 1) e os coeficientes saem absurdos, com cada quarto a mais valendo cerca de R$ 2 milhões e cada metro quadrado a mais reduzindo o preço. É a multicolinearidade e o sobreajuste agindo juntos: seriam necessárias muito mais casas, e provavelmente retirar o número de quartos ou a idade.

O que você achou deste artigo?

0%
Nota dos usuários (0)

Compartilhe este artigo!