A regressão linear é um dos métodos estatísticos mais antigos e fundamentais usados na modelagem preditiva, sendo um pilar essencial no campo da ciência de dados e do machine learning.
Sua simplicidade e eficácia a tornaram uma ferramenta popular entre estatísticos, cientistas de dados e engenheiros de dados, ajudando a prever e modelar relações entre variáveis.
Entre as aplicações possíveis da regressão linear, podemos citar desde a previsão de vendas futuras até determinação de fatores de risco de doenças. Apesar de suas limitações e das suposições que a cercam, ela continua sendo a base para o desenvolvimento de modelos mais complexos.
Neste artigo, exploraremos os fundamentos da regressão linear, incluindo seus diferentes tipos, sua função e quando usá-la. Através dessa análise aprofundada, fornecemos uma visão abrangente que permitirá a profissionais, tanto iniciantes quanto experientes, a tirar o melhor proveito desse cálculo.
🆕 Este artigo foi revisado e atualizado em maio de 2024!
- O que é Regressão Linear?
- Fórmula de Regressão Linear
- Tipos de Regressão Linear
- Outros tipos de regressão
- Qual é a função da regressão linear?
- Gráfico de regressão linear
- Quando utilizar regressão linear?
- Coeficiente de Correlação
- Regressão Linear em Machine Learning
- Desafios e Soluções
- Exemplos de Utilização da Regressão Linear
- Conclusão
O que é Regressão Linear?
A regressão linear é um método estatístico utilizado para modelar a relação entre uma variável dependente (ou variável alvo) e uma ou mais variáveis independentes (ou variáveis preditoras).
O modelo busca traçar uma linha reta (no caso de uma regressão linear simples) ou um plano (para uma regressão linear múltipla) que minimiza a soma dos erros entre as previsões e os valores reais.
Essa técnica baseia-se na suposição de que as variáveis independentes afetam linearmente a variável dependente, ou seja, há uma relação direta e proporcional entre elas.
Fórmula de Regressão Linear
A fórmula para uma regressão linear simples é: [math] y = \beta_0 + \beta_1 X + \epsilon [/math]
Onde:
- [math] y [/math] é a variável dependente (resposta),
- [math] \beta_0 [/math] é o intercepto (valor inicial),
- [math] \beta_1 [/math] é o coeficiente da variável independente (inclinação da reta),
- [math] X [/math] é a variável independente (explicativa), e
- [math] \epsilon [/math] representa o erro.
Tipos de Regressão Linear
Existem dois tipos de regressão linear: a simples, que utiliza apenas uma variável independente; e a múltipla, que utiliza mais de uma variável independente.
Regressão Linear Simples: Modela a relação entre uma variável independente e uma variável dependente. Útil para identificar relações diretas.
Regressão Linear Múltipla: Considera várias variáveis independentes para prever uma variável dependente, tornando-se crucial em situações complexas onde múltiplos fatores afetam a variável alvo.
Outros tipos de regressão
Abaixo, um pequeno resumo de outras regressões não lineares:
Regressão Ridge: Um tipo de regressão linear regularizada que introduz um termo de penalidade para os coeficientes do modelo, reduzindo assim os efeitos de multicolinearidade.
Regressão Lasso: Semelhante à regressão ridge, mas usa a regularização L1, que pode reduzir coeficientes a zero, funcionando como um método de seleção de variáveis.
Regressão Elastic Net: Combina as penalidades de Ridge e Lasso para criar um modelo mais flexível.
Regressão Logística: Difere da regressão linear porque seu objetivo é prever variáveis categóricas em vez de variáveis contínuas. Ela modela a probabilidade de ocorrência de um determinado resultado categórico (binário ou multicategórico) com base nas variáveis independentes fornecidas.
Qual é a função da regressão linear?
A função principal da regressão linear é prever valores quantitativos ou contínuos com base nas variáveis preditoras. Ela pode ser usada para:
➡️ Análise de Tendências: Identificar tendências ou padrões ao longo do tempo, como a variação de preços.
➡️ Modelagem Preditiva: Antecipar valores futuros de uma variável alvo, como previsão de vendas ou receitas.
➡️ Avaliação de Relações: Medir a força das relações entre variáveis, ajudando a determinar quais fatores têm o maior impacto.
➡️ Análise de Sensibilidade: Avaliar a influência de variáveis independentes específicas na variável dependente.
Gráfico de regressão linear
Aqui está um gráfico que ilustra um exemplo de regressão linear aplicado ao preço de imóveis com base no tamanho (em metros quadrados). A linha vermelha representa a linha de regressão ajustada, enquanto os pontos azuis são os dados reais, com uma relação entre o tamanho do imóvel e o preço em milhares de reais. Este tipo de análise é amplamente utilizado para prever preços de imóveis com base em variáveis como tamanho, localização e características adicionais.
Neste exemplo, você pode visualizar uma relação simples entre preços de imóveis, em que: quanto maior seu tamanho, maior o seu custo. Embora alguns valores não fiquem dentro da reta traçada, claramente há uma relação de correlação entre as duas variáveis.
Quando utilizar regressão linear?
A regressão linear se destaca nos seguintes cenários:
- Relação Linear: Quando os dados apresentam um padrão linear entre variáveis independentes e dependentes.
- Previsão: Ao prever variáveis contínuas, como preços ou temperaturas.
- Redução de Dimensionalidade: Para identificar e priorizar variáveis relevantes em um conjunto de dados.
- Exploração de Dados: No estágio inicial de um projeto de machine learning, para entender rapidamente os dados e direcionar o desenvolvimento de modelos mais complexos.
No entanto, evite a regressão linear em situações onde os dados são altamente não lineares, apresentam outliers extremos ou possuem forte multicolinearidade.
Coeficiente de Correlação
Para determinar se existe correlação entre duas variáveis é utilizado o coeficiente de correlação, também conhecido como coeficiente de Pearson ou coeficiente de determinação. Ele mede o grau da correlação e a direção dessa correlação (positiva ou negativa).
Esse coeficiente atribui valores entre -1 e 1 para determinar o grau de correlação. Quando encontramos números próximos a 1, a correlação é considerada positiva. Já quando encontramos números próximos a -1 a correlação negativa.
Quanto mais próximo dos extremos maior o grau de correlação e quanto mais próximo a zero menor o grau de correlação.
Caso o resultado da equação seja 0,98 dizemos que a correlação entre as duas variáveis é de 98%.
Portanto, devemos levar em conta o grau de correlação em nossas previsões. Geralmente acima de 70% consideramos uma correlação significativa.
Regressão Linear em Machine Learning
A regressão linear é amplamente utilizada em machine learning devido à sua simplicidade e eficácia na modelagem preditiva. Ela serve como um primeiro passo na exploração de dados, fornecendo insights iniciais sobre relações entre variáveis preditoras e um resultado alvo.
Em aplicações práticas, ela permite prever variáveis contínuas, identificar tendências e avaliar a influência de múltiplos fatores no resultado, funcionando como um alicerce para modelos mais avançados e aprimorando a compreensão do comportamento dos dados.
Preparação de Dados
A preparação dos dados é um passo crítico. Comece com a limpeza e normalização dos dados, tratando valores ausentes e eliminando outliers que possam distorcer os resultados. Certifique-se de que os dados estejam bem formatados e todas as variáveis preditoras sejam numéricas ou transformadas para tal.
Implementando Regressão Linear com Python
Para implementar uma regressão linear utilizando a linguagem de programação Python, podemos fazer uso da biblioteca scikit-learn. Veja um exemplo de implementação básica, com o passo a passo:
# Importando bibliotecas necessárias
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import pandas as pd
# Carregando os dados
data = pd.read_csv(‘caminho_para_o_arquivo.csv’)
# Separando variáveis independentes e dependentes
X = data[[‘variavel_independente_1’, ‘variavel_independente_2’]] # Exemplo de múltiplas variáveis
y = data[‘variavel_dependente’]
# Dividindo os dados em treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Criando o modelo de regressão linear
model = LinearRegression()
model.fit(X_train, y_train)
# Fazendo previsões
y_pred = model.predict(X_test)
# Avaliando o modelo
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f’Erro quadrado médio: {mse:.2f}’)
print(f’Coeficiente de determinação R²: {r2:.2f}’)
Avaliação do Modelo de Regressão Linear
Ao avaliar um modelo de regressão linear, considere as seguintes métricas:
- Erro Quadrado Médio (MSE): A média das diferenças quadradas entre os valores previstos e os reais.
- Erro Absoluto Médio (MAE): Média das diferenças absolutas entre as previsões e os valores reais.
- Coeficiente de Determinação (R²): Indica a proporção da variabilidade da variável dependente explicada pelo modelo.
Idealmente, um modelo bem ajustado terá um MSE e MAE baixos, com um valor de R² próximo a 1.
Desafios e Soluções
Suposições do Modelo
O modelo de regressão linear assume:
- Linearidade: Relação linear entre variáveis;
- Normalidade: Distribuição normal dos resíduos;
- Homoscedasticidade: Variância constante dos resíduos;
- Independência: Observações independentes.
Verifique estas suposições com gráficos de resíduos e testes estatísticos.
Colinearidade
A colinearidade ocorre quando variáveis independentes estão altamente correlacionadas, dificultando a interpretação dos coeficientes. Utilize análise de correlação ou VIF (Variance Inflation Factor) para detectar a colinearidade. Em casos extremos, remova ou combine variáveis altamente correlacionadas.
Overfitting
Overfitting ocorre quando o modelo se ajusta demais aos dados de treinamento, perdendo generalização. Evite isso com:
- Validação Cruzada: Para garantir a estabilidade do modelo.
- Regularização: Penalizar coeficientes grandes com métodos como Ridge e Lasso.
- Simplificação do Modelo: Remova variáveis redundantes ou irrelevantes.
Exemplos de Utilização da Regressão Linear
Um exemplo de regressão linear é o Preço X Demanda. Se o preço varia, é esperado que a procura também oscile de acordo com essa mudança. Ou seja, se há um aumento de preço é esperado que a demanda diminua.
Embora nem sempre ocorra um relação de causa e efeito, é uma forma de avaliar se duas grandezas variam concomitantemente. Essa relação pode ser direta, quando oscilam no mesmo sentido, ou inversa, quando oscilam em sentidos diferentes.
➡️ Previsão de Preços Imobiliários: Com base em variáveis como tamanho, localização e ano de construção, é possível prever o preço de imóveis.
➡️ Modelagem de Demanda de Energia: Previsão da demanda futura de energia considerando fatores como temperatura e hora do dia.
➡️ Análise de Custos Médicos: Possibilita estimar custos médicos futuros de acordo com histórico do paciente, idade e hábitos de vida.
➡️ Desempenho de Campanhas de Marketing: Permite avaliar o impacto de diferentes canais de marketing nas vendas.
Conclusão
A regressão linear é uma ferramenta valiosa, fornecendo uma abordagem simples e eficaz para prever variáveis contínuas e identificar relações entre variáveis. Apesar dos desafios, ela permanece como uma técnica fundamental que todo profissional de dados deve dominar.
Quer seja para exploração de dados ou modelagem preditiva, a regressão linear fornece insights poderosos e uma base sólida para abordar problemas complexos.
Quer saber mais sobre o assunto? Então não deixe de conferir nosso artigo sobre os principais algoritmos de machine learning!
Nesse trecho a explicação de a e b está invertida, no mais ótimo artigo.
“A linha traçada pode ser representada pela equação, y = a * x + b…
O termo a, também chamado de intercepto, representa o ponto em Y quando X = 0. Já o termo b representa a inclinação da reta. Caso b seja positivo a reta é ascendente; se b for negativo a reta será descendente.”
Obrigado pelo feedback Moacyr. Você está correto, inverti o “a” e o “b” na explicação. Ajustei o exemplo.
Boa tarde, eu gostaria de entender a equação para mais de uma variável independente. Nao consigo achar em lugar algum com uma explicação do mesmo nível que aqui.
Muito didático!