Regressão Linear: Prevendo Tendências com Simplicidade
Com simplicidade e precisão, a regressão linear revela os segredos ocultos nas relações entre variáveis.
A regressão linear, uma das ferramentas estatísticas mais clássicas, é amplamente utilizada e frequentemente o primeiro algoritmo explorado por quem se interessa por ciência de dados.
Sua popularidade se deve à sua simplicidade, interpretabilidade e flexibilidade, o que a torna uma escolha sólida tanto para análises iniciais quanto para aplicações práticas em áreas como economia, ciências sociais, biologia e outras.
Apesar de sua simplicidade, a regressão linear desempenha um papel fundamental na análise de dados.
Ela nos permite identificar, quantificar e explorar relações entre variáveis, ajudando a responder perguntas importantes como: existe uma relação significativa entre essas variáveis? Como uma variável muda em função da outra?
Acesse o Colab (Notebook) com o código: https://elisaterumi.substack.com/p/notebooks
O Que é Regressão Linear?
No caso mais simples, a regressão linear busca modelar a relação entre duas variáveis, ajustando uma equação linear que melhor descreve os dados. Essa equação é expressa como:
y = a + bx
, onde:
x é a variável explicativa ou independente,
y é a variável dependente,
a é o intercepto (o valor de y quando x = 0),
b é o coeficiente angular (ou inclinação), que indica como y varia em relação a x.

Objetivo da Regressão Linear
O principal objetivo é medir a força e a direção da relação entre as variáveis. Essa relação é geralmente representada pelo coeficiente de correlação, que varia entre -1 e 1:
-1 a 0: Correlação negativa (quando x aumenta, y tende a diminuir).
0: Sem correlação (as variáveis são independentes).
0 a 1: Correlação positiva (quando x aumenta, y também tende a aumentar).
Aplicações Práticas e Previsões
A regressão linear não se limita à análise de correlação. Ela também é uma poderosa ferramenta preditiva. Após identificar o relacionamento entre x e y, podemos estimar valores futuros de y com base em novos valores de x.
Exemplo Prático
Neste exemplo prático, vamos explorar a aplicação da regressão linear simples para analisar a relação entre o número de horas de estudo e as notas em uma prova. O objetivo é construir um modelo que nos permita prever o desempenho dos alunos com base em seu tempo de estudo.
x (número de horas de estudo) é a variável independente.
y (nota na prova) é a variável dependente.
Supomos que tenhamos coletado dados de 10 alunos:
Vamos usar um algoritmo de regressão linear para encontrar os valores de b0 (intercepto) e b1 (inclinação) da linha de regressão. A equação da linha será da forma:
Nota na Prova (y) = b0 + b1 * Horas de Estudo (x)
O algoritmo de regressão linear calculará os valores ótimos de b0 e b1 que minimizam a soma dos quadrados das diferenças entre as notas reais e as notas previstas pela linha de regressão.
Após o treinamento do modelo, vamos ter os valores numéricos de b0 e b1. Por exemplo:
Digamos que, após aplicar o algoritmo, a gente obteve b0 = 55 e b1 = 4. Então a equação da linha de regressão seria:
Nota na Prova (y) = 55 + 4 * Horas de Estudo (x)
Interpretação:
b0 (Intercepto): O valor de 55 indica a nota prevista para um aluno que não estudou nenhuma hora. Note que este valor pode não fazer sentido no mundo real e serve apenas como ponto de inicio da reta.
b1 (Inclinação): O valor de 4 indica que para cada hora adicional de estudo, a nota na prova aumenta em 4 pontos.
Previsões:
Com a equação da linha de regressão, podemos fazer previsões para qualquer número de horas de estudo. Por exemplo:
Se um aluno estudou 7 horas, a nota prevista é: y = 55 + 4 * 7 = 83
Se um aluno estudou 12 horas, a nota prevista é: y = 55 + 4 * 12 = 103 (Nesse caso, seria preciso avaliar a plausibilidade da previsão, uma vez que ultrapassa a pontuação máxima).
Vamos codificar!
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# Dados de exemplo (a tabela com as horas de estudo e notas)
horas_estudo = np.array([2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).reshape(-1, 1)
notas_prova = np.array([60, 70, 75, 82, 88, 90, 92, 95, 98, 99])
# 1. Criar o modelo de regressão linear
modelo = LinearRegression()
# 2. Treinar o modelo com os dados
modelo.fit(horas_estudo, notas_prova)
# 3. Obter os coeficientes (b0 e b1)
b0 = modelo.intercept_
b1 = modelo.coef_[0]
print(f"Intercepto (b0): {b0:.2f}")
print(f"Inclinação (b1): {b1:.2f}")
# 4. Fazer uma previsão para 7 horas de estudo
horas_teste = np.array([[7]])
nota_prevista = modelo.predict(horas_teste)[0]
print(f"Nota prevista para 7 horas: {nota_prevista:.2f}")
# 5. Visualizar os resultados (Dados e Linha de Regressão)
plt.scatter(horas_estudo, notas_prova, color='blue', label='Dados de Treinamento')
plt.plot(horas_estudo, modelo.predict(horas_estudo), color='red', label='Linha de Regressão')
plt.scatter(horas_teste, nota_prevista, color='green', marker='x', s=100, label='Previsão')
plt.xlabel('Horas de Estudo')
plt.ylabel('Nota na Prova')
plt.title('Regressão Linear - Horas de Estudo vs. Nota na Prova')
plt.legend()
plt.grid(True)
plt.show()
Resultado:
Esse exemplo ilustra como a regressão linear simples ajuda a modelar e prever relações entre duas variáveis, fornecendo uma ferramenta prática para análise de dados.
Acesse o Colab (Notebook) com o código: https://elisaterumi.substack.com/p/notebooks
Regressão Linear Múltipla
Regressão Linear Múltipla é uma extensão da Regressão Linear simples. Ao incluir várias variáveis independentes, podemos modelar cenários onde mais de um fator influencia o resultado. Por exemplo, prever o preço de um imóvel com base em características como área, localização e número de quartos.
Conclusão
A regressão linear é uma ferramenta essencial para quem deseja compreender padrões em dados e realizar previsões fundamentadas.
Sua simplicidade esconde um potencial surpreendente, sendo frequentemente o ponto de partida para técnicas mais avançadas em estatística e aprendizado de máquina.
Agora que entendemos os fundamentos da regressão linear, vamos explorar a regressão logística e suas aplicações práticas.
Fique ligado(a)!! 💗
Obrigada pela explicação Elisa, a sua didática me ajudou a generalizar para uma aplicação minha que venho planejando.