Regressão Linear

Escrito por Gabriel Neves Siqueira

Imagine que você trabalha em uma imobiliária e quer entender a relação entre o tamanho de um apartamento (em metros quadrados) e seu preço. Você coletou dados de vários apartamentos vendidos recentemente e quer descobrir um padrão: será que apartamentos maiores custam mais? E se sim, quanto mais?

A regressão linear é exatamente a ferramenta que precisamos para responder essas perguntas. A ideia é simples: vamos desenhar uma linha reta que passe “no meio” dos nossos dados, de forma que ela represente o melhor possível a relação entre tamanho e preço.

Mas o que significa “no meio” dos dados? E como sabemos qual é a “melhor” linha? Vamos começar visualizando o problema:

Observando o gráfico acima, conseguimos ver claramente um padrão: conforme a área aumenta, o preço também tende a aumentar. Os pontos não estão perfeitamente alinhados em uma linha reta (afinal, o preço de um apartamento depende de muitos fatores além do tamanho), mas de fato existe uma tendência clara e consistente.

A questão que precisamos responder é a seguinte. Como podemos traçar a “melhor” linha reta que representa essa relação? Precisamos de uma linha que capture a tendência geral dos dados, minimizando as diferenças entre os preços reais e os preços que a linha prevê.

O algoritmo de regressão linear encontra matematicamente essa linha de melhor ajuste, e ela pode ser usada para fazer previsões. Por exemplo, se aparecer um apartamento de $$85 \text{ m}^2$$ no mercado, podemos usar nossa linha para estimar um preço justo.

Vamos ver como fica essa linha de melhor ajuste:

Agora temos a linha vermelha que melhor representa a relação entre área e preço. Note como ela passa “no meio” dos pontos, equilibrando as distâncias para cima e para baixo.

A linha tem uma equação matemática simples: $$\text{P} = 4,89 \times \text{A} – 14,41$$

Essa equação nos dá duas informações importantes. Primeiro, o número $$4,89$$ (chamado de coeficiente angular ou inclinação) nos diz quanto o preço aumenta para cada metro quadrado adicional. Neste caso, cada $$1 \text{ m}^2$$ a mais aumenta o preço em aproximadamente $$ \text{R\$ } 4.890 $$.

Segundo, o número $$-14,41$$ (chamado de intercepto) representa o valor teórico quando a área é zero. Neste exemplo, esse valor não tem muito sentido prático (não existe apartamento com $$0 \text{ m}^2$$), mas matematicamente é necessário para posicionar a linha corretamente no gráfico.

Com essa linha, podemos fazer previsões. Quer estimar o preço de um apartamento de $$85 \text{ m}^2$$? Basta calcular: $$\text{P} = 4,89 \times 85 – 14.41 = 401,24$$ mil reais.

Mas ainda há uma questão importante que não abordamos. Precisamos de uma forma de medir o quão bem essa linha representa nossos dados. Será que a relação entre área e preço é forte e previsível, ou os pontos estão muito espalhados? Existe uma métrica específica que nos ajuda a quantificar isso.

Coeficiente de Correlação de Pearson

O coeficiente de correlação de Pearson, geralmente representado pela letra $$r$$, é uma medida que varia entre $$-1$$ e $$1$$ e nos diz o quão forte é a relação linear entre duas variáveis.

Vamos entender o que cada valor significa:

  • $$r = 1$$: correlação perfeita positiva. Todos os pontos estão exatamente sobre a linha, e quando uma variável aumenta, a outra também aumenta proporcionalmente.
  • $$r = -1$$: correlação perfeita negativa. Todos os pontos estão exatamente sobre a linha, mas quando uma variável aumenta, a outra diminui proporcionalmente.
  • $$r = 0$$: sem correlação linear. Não há relação linear entre as variáveis, os pontos estão completamente espalhados.
  • Valores entre $$0$$ e $$1$$ (ou $$0$$ e $$-1$$): indicam correlação parcial. Quanto mais próximo de $$1$$ ou $$-1$$, mais forte é a relação. Quanto mais próximo de $$0$$, mais fraca.

Para nossos dados de apartamentos, o coeficiente de correlação é $$r = 0,997$$. Isso indica uma correlação extremamente forte e positiva entre área e preço. Os pontos estão muito próximos da linha, o que significa que nosso modelo de regressão linear é muito bom para fazer previsões neste caso.

A Matemática por Trás da Regressão Linear

Esta seção requer conhecimento de cálculo diferencial, especificamente derivadas e otimização. Se você não está familiarizado com esses conceitos, pode pular esta parte sem prejuízo para o entendimento prático da regressão linear.

Até agora, vimos como a regressão linear funciona de forma intuitiva e como usar suas fórmulas para fazer previsões. Mas como o algoritmo realmente encontra essa linha de melhor ajuste? Como ele determina os valores ideais para a inclinação e o intercepto?

A resposta está em um problema de otimização matemática. Queremos minimizar o erro total entre nossas previsões e os valores reais. Para isso, precisamos usar cálculo diferencial para encontrar o ponto mínimo de uma função de custo.

A Função de Custo

Primeiro, precisamos definir matematicamente o que significa “erro” e como medir se uma linha é boa ou ruim.

Para cada ponto de dados, temos um valor real $$y_i$$ (o preço real do apartamento) e um valor previsto $$\hat{y}_i$$ (o preço que nossa linha prevê). O erro para esse ponto é simplesmente a diferença: $$e_i = y_i – \hat{y}_i$$.

Porém, não podemos simplesmente somar todos os erros, porque erros positivos e negativos se cancelariam. Um ponto $$10$$ unidades acima da linha cancelaria um ponto $$10$$ unidades abaixo, e pareceríamos ter erro zero quando na verdade temos erros grandes.

A solução é elevar os erros ao quadrado antes de somá-los. Isso tem duas vantagens: primeiro, elimina o problema dos sinais (números negativos ao quadrado ficam positivos). Segundo, penaliza erros grandes de forma mais severa (um erro de $$10$$ contribui $$100$$ para o custo, enquanto dois erros de $$5$$ contribuem apenas $$50$$ no total).

Nossa função de custo (também chamada de função de perda) é a soma dos erros quadrados:

$$J = \sum_{i=1}^{n} (y_i – \hat{y}_i)^2$$

Onde $$n$$ é o número de pontos de dados que temos.

Lembre-se que nossa previsão $$\hat{y}_i$$ vem da equação da linha: $$\hat{y}_i = mx_i + b$$, onde $m$ é a inclinação, $$b$$ é o intercepto, e $$x_i$$ é o valor de entrada (a área do apartamento).

Substituindo na função de custo:

$$J(m, b) = \sum_{i=1}^{n} (y_i – mx_i – b)^2$$

Agora temos uma função que depende de $$m$$ e $$b$$. Nosso objetivo é encontrar os valores de $$m$$ e $$b$$ que minimizam essa função.

Minimizando a Função de Custo

Para encontrar o mínimo de uma função, precisamos encontrar os pontos onde suas derivadas são zero. Como nossa função depende de duas variáveis ($$m$$ e $$b$$), precisamos calcular as derivadas parciais em relação a cada uma delas.

Vamos começar com a derivada parcial em relação a $$m$$:

$$\frac{\partial J}{\partial m} = \frac{\partial}{\partial m} \sum_{i=1}^{n} (y_i – mx_i – b)^2$$

Usando a regra da cadeia:

$$\frac{\partial J}{\partial m} = \sum_{i=1}^{n} 2(y_i – mx_i – b) \cdot (-x_i)$$

$$\frac{\partial J}{\partial m} = -2 \sum_{i=1}^{n} x_i(y_i – mx_i – b)$$

Agora a derivada parcial em relação a $$b$$:

$$\frac{\partial J}{\partial b} = \frac{\partial}{\partial b} \sum_{i=1}^{n} (y_i – mx_i – b)^2$$

$$\frac{\partial J}{\partial b} = \sum_{i=1}^{n} 2(y_i – mx_i – b) \cdot (-1)$$

$$\frac{\partial J}{\partial b} = -2 \sum_{i=1}^{n} (y_i – mx_i – b)$$

Para encontrar o mínimo, igualamos ambas as derivadas a zero:

$$\frac{\partial J}{\partial m} = 0 \quad \text{e} \quad \frac{\partial J}{\partial b} = 0$$

Isso nos dá um sistema de duas equações com duas incógnitas. Resolvendo esse sistema, chegamos às fórmulas fechadas para a regressão linear:

$$m = \frac{n\sum x_i y_i – \sum x_i \sum y_i}{n\sum x_i^2 – (\sum x_i)^2}$$

$$b = \frac{\sum y_i – m \sum x_i}{n}$$

Essas são as fórmulas que os computadores usam para calcular a linha de melhor ajuste instantaneamente. Elas garantem matematicamente que encontramos o mínimo global da função de custo.