Executando verificação de segurança...
5

Pera, mas o que é Regressão Linear? 📈

Alerta de importância para a álgebra!

Definição

Regressão linear é um tipo de modelo de análise de dados que é utilizado para entender a relação entre duas variáveis. É chamado de "linear" porque o modelo assume que existe uma relação linear entre a variável independente (também chamada de variável explicativa ou predictor) e a variável dependente (também chamada de variável resposta ou critério).1

Dada a definição formal, voltemos à pergunta: O que é uma regressão linear?

Com minhas próprias palavras, é uma tentativa de caracterizar dados de acordo com uma função afim, y=ax+b, para conseguir prever o comportamento dos dados nos intervalos não conhecidos.

Como fazer

Dado um conjunto de dados, por exemplo, de temperatura por tempo imaginário:

ºCHora
104
125
156
167
178
209
2410

Vamos observar a distribuição dos dados

Screenshot-1

Nota-se que a temperatura cresce com a hora, mas não linearmente. Mas e se eu quisesse saber aproximadamente qual era a temperatura às 7h30? Ou qual será a temperatura às 13h?
Podemos criar um modelo de regressão!
Para isso, vamos transformar a nossa função afim em uma função que precisa de pesos asociados à cada grau de x. y= w0*x^0 + w1*x^1.

Podemos generalizar a função de forma vetorial para um calculo computacional mais eficiente, separando um vetor de pesos W composto pelos valores w0,w1,...,wn , que nesse caso possui apenas dois elementos, e um vetor de variáveis independentes X, que são todos os graus de x. Sendo a função resultante y = X@W em que @ expressa uma operação de produto interno.

Definindo os pesos da regressão

Como estamos realizando uma previsão, há erros associados à ela. Para mensurar o nosso erro, utilizamos geralmente o Mean Squared Error, conhecido como MSE. Assim, o erro da previsão é a soma de todas as diferenças elevadas ao quadrado entre os valores reais e os valores previstos.

Ficando então:

Função custo somatoria

onde:

  • L é uma função custo w;
  • m é a quantidade de elementos, len(X);
  • hw é o valor de y para um determinado x utilizando os pesos w atuais.
  • o índice i se refere a cada um dos itens do vetor, em ordem;
  • y é o vetor de variáveis dependentes, no nosso caso, a temperatura;
  • a constante 1/2m tem papel de suavizador na equação.

Para encontrar os valores de w que minimizam o custo, podemos recorrer ao gradient descent2 iterativo, buscando aproximar de zero o resultado da equação vetorizada explicitada abaixo através da atualização gradativa dos pesos:

Funcao custo vetorizada

O gradient descent é uma parte importante em todo o campo de regressão e previsão, para os interessados na área, é fortemente recomendado o estudo.

Na prática, com Python

Facilitando os cálculos, utilizando o sklearn3

import numpy as np
from sklearn.linear_model import LinearRegression
y = np.array([10,12,15,16,17,20,24]).reshape(-1,1)
x = np.arange(4,11).reshape(-1,1)
reg = LinearRegression().fit(x, y)

>>>reg.predict([[7.5]])
array([[17.35714286]])

Nota-se que a previsão é plausível de acordo com a tabela!

Conclusão

Analisamos um pouco da construção por trás da regressão linear e a sua utilização com bibliotecas Python. Esse foi meu primeiro artigo de conteúdo na minha área de estudo: Machine learning e redes neurais. Me conta o que achou e como podemos melhorar! Que conteúdo nessa área gostaria de ver?

Footnotes

  1. Fornecido por https://chat.openai.com/chat

  2. https://towardsdatascience.com/gradient-descent-algorithm-a-deep-dive-cf04e8115f21

  3. https://scikit-learn.org/

Carregando publicação patrocinada...
1

Achei interessante o texto, mas faltou para mim um detalhamento maior na parte matemática e na explicação de algumas tomadas de decisões como, por exemplo, o que é Mean Squared Error ? Pq usar ela?
Gostei da iniciativa!
Keep working!! 💪🏽

1

não só gostei do texto mas da formatação também.

Há muitos posts que usam IA parar gerar o texto integralmente e nem deixam claro a origem. Você fez o contrário, tornou claro fontes usadas e soube integra-las com seu texto. Parabéns!

1