3 Regressão Linear na Estatística e na AM
A regressão linear é uma técnica utilizada tanto na estatística quanto na aprendizagem de máquina, sendo aplicada de maneiras distintas, mas complementares, em ambas as áreas. Este capítulo explora como a regressão linear é utilizada e adaptada para diferentes contextos, destacando suas capacidades, limitações e integrações em métodos mais avançados.
3.1 Conceitos Estatísticos
Na estatística, a regressão linear é utilizada para modelar a relação entre uma variável dependente e uma ou mais variáveis independentes e para fazer inferências estatísticas sobre as relações subjacentes entre elas e na previsão estatística de valores futuros [@montgomery2021].
A inferência estatística refere-se ao ramo da estatística que se preocupa com a análise, interpretação e descrição dos dados coletados de uma amostra para fazer generalizações sobre uma população maior. Esse processo envolve o uso de métodos e técnicas que permitam a realização de estimativas ou testes de hipóteses sobre parâmetros populacionais com base em informações amostrais.
A inferência estatística fundamenta-se em teorias de probabilidade que possibilitam lidar com a variabilidade e a incerteza presente nos dados. As principais técnicas de inferência incluem a estimação pontual, a estimação por intervalo e os testes de hipóteses, que são empregados para fazer previsões ou tirar conclusões sobre características populacionais não diretamente observadas.
A validade das inferências estatísticas depende de diversos fatores, como o tamanho da amostra, o método de amostragem e a precisão das ferramentas estatísticas utilizadas. Assim, ao realizar inferências, é necessário considerar possíveis erros e vieses que possam afetar os resultados e as conclusões obtidas.
Já previsão em estatística refere-se ao processo de estimar ou prever valores futuros de uma variável com base em dados históricos e em modelos matemáticos ou estatísticos. Este procedimento envolve a análise de padrões e tendências presentes nos dados observados, bem como a aplicação de técnicas específicas, como regressão linear, séries temporais, e modelos de aprendizado de máquina, entre outras.
Os modelos de previsão são construídos mediante métodos quantitativos que utilizam a informação disponível para gerar cenários futuros. Esses modelos são verificados e validados através de processos de avaliação que medem sua precisão e eficácia. A previsibilidade pode ser direta ou inferida, dependendo da natureza dos dados e da metodologia empregada.
A previsão é um componente essencial de tomadas de decisão em diversos campos, incluindo economia, meteorologia, saúde pública, e gerenciamento de negócios. Portanto, o objetivo principal da previsão estatística é oferecer uma base racional para expectativa sobre eventos futuros, permitindo um planejamento mais adequado e eficiente.
Usos da regressão Inferência: Por meio de testes de hipóteses, intervalos de confiança e análise de variância, os estatísticos podem determinar a significância das relações entre variáveis e a contribuição de cada variável independente no modelo [@Weisberg2013].
Previsão: A regressão linear é amplamente utilizada para prever valores contínuos em diversos campos, como economia, biologia e ciências sociais [@Kutner2004].
Métodos Estatísticos Associados
Análise da Normalidade Resíduos
A análise dos resíduos (ou erros) é fundamental para verificar suposições do modelo, como homocedasticidade e normalidade dos erros.
A normalidade dos resíduos é uma das suposições da regressão linear. Os resíduos são as diferenças entre os valores observados e os valores previstos pelo modelo de regressão. A fórmula para calcular o resíduo é apresentada a seguir.
\(Residuo = y_i - \hat{y}_i\)
onde:
\(y_i\) é o valor observado da variável dependente
\(\hat{y}_i\) é o valor previsto pelo modelo de regressão
Para verificar os resíduos podemos utilizar dois tipos de gráficos:
Um histograma dos resíduos
Um QQ plot dos resíduos
Vamos primeiro criar um modelo de regressão e exibir os erros. Utilizaremos todos os dados para o treino, não separaremos estes dados entre treino e teste pois nosso objetivo não é verificar o quão bom esse modelo se ajusta aos dados.
import numpy as np
from sklearn.linear_model import LinearRegression
# Geração dos dados aleatórios
np.random.seed(42)
x = np.random.rand(100)
y = 2 * x + 1 + np.random.normal(0, 0.2, 100)
# Treino no modelo
modelo = LinearRegression()
modelo.fit(x.reshape(-1, 1), y)
# Previsão e erros
erros = y - modelo.predict(x.reshape(-1, 1))
errosA saída é uma lista com o erro de cada uma das observações.
array([ 0.00883089, -0.0153981 , ...., 0.13233854])Histograma dos resíduos
Um histograma pode ser utilizado para analisar a normalidade dos resíduos. O código a seguir gera um gráfico com o histograma dos resíduos.
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sn
from sklearn.linear_model import LinearRegression
# Geração dos dados aleatórios
np.random.seed(42)
x = np.random.rand(100)
y = 2 * x + 1 + np.random.normal(0, 0.2, 100)
# Treino do modelo
modelo = LinearRegression()
modelo.fit(x.reshape(-1, 1), y)
# Previsão e erro
erros = y - modelo.predict(x.reshape(-1, 1))
# Exibir Gráfico
sn.histplot(erros, bins=20, kde=True)
plt.xlabel('Erros')
plt.ylabel('Frequência')
plt.title('Histograma dos Erros')
plt.show()
É possível perceber visualmente que o histograma dos resíduos segue uma distribuição parecida com a distribuição normal.
Testes de Significância: Testes t e F são utilizados para avaliar a significância dos coeficientes de regressão e do modelo como um todo [@Draper1998].
Multicolinearidade: O fator de inflação da variância (VIF) é uma medida comum para identificar multicolinearidade entre variáveis independentes [@Gujarati2012].
3.2 Conceitos de AM
Na aprendizagem de máquina, a regressão linear é utilizada tanto como modelo autônomo quanto como componente de métodos mais complexos. Ela é frequentemente o ponto de partida para o desenvolvimento de modelos preditivos devido à sua simplicidade e interpretabilidade [@bishop2006].
Algoritmos de Regressão: A regressão linear pode ser aprimorada por técnicas de regularização, como Lasso e Ridge, para lidar com overfitting e multicolinearidade [@hastie2009].
Pipeline de Aprendizado: A regressão linear é frequentemente utilizada em pipelines de aprendizado, onde é combinada com técnicas de seleção de características, validação cruzada e ajuste de hiperparâmetros [@Kuhn2013].
Desafios e Avanços
Escalabilidade: Em contextos de big data, a regressão linear é adaptada para processar grandes volumes de dados de forma eficiente mediante técnicas de computação distribuída, como o uso de Apache Spark [@Zaharia2016].
Explicabilidade: A simplicidade da regressão linear torna-a valiosa para modelos de inteligência artificial explicáveis (XAI), fornecendo uma base interpretável para comparação com modelos mais complexos [@Rudin2019].
Integração com Deep Learning: Embora deep learning seja geralmente associado a problemas não lineares, a regressão linear pode ser utilizada em camadas de saída de redes neurais para fornecer previsões contínuas [@goodfellow2016].
3.3 Cálculo dos coeficientes
Os métodos de Mínimos Quadrados Ordinários (MQO) e Gradiente Descendente são abordagens populares para calcular os coeficientes do modelo de regressão. Enquanto MQO está mais associado a Estatistica, o método Gradiente Descendente está mais associado com AM, devido ao poder computacional hoje ambundante o método do Gradiente Descendente se tornou comodite nos principais softwares estatísticos (Python e R). A seguir, exploramos as diferenças entre essas duas abordagens.
3.3.1 Mínimos Quadrados Ordinários (MQO)
Objetivo: O MQO visa encontrar os coeficientes que minimizam a soma dos quadrados dos resíduos, ou seja, a diferença entre os valores observados e os valores preditos [@montgomery2021].
Método: Envolve o uso de fórmulas matemáticas diretas que resultam em uma solução analítica. Para um modelo de regressão linear múltipla, os coeficientes são calculados através da inversão de matrizes: \[\beta = (X^TX)^{-1}X^Ty\] onde \(X\) é a matriz das variáveis independentes, e \(y\) é o vetor da variável dependente [@kutner2005applied].
Requisitos: Funciona bem para conjuntos de dados pequenos a médios, onde a inversão de matriz é computacionalmente viável. Supõe que não há problemas de multicolinearidade e que os dados cabem na memória.
Eficiência: Rápido e eficiente para problemas de tamanho moderado devido à solução analítica.
Desvantagens: Não é escalável para grandes conjuntos de dados ou quando há um grande número de variáveis devido ao custo computacional da inversão de matrizes [@hastie2009].
3.3.2 Gradiente Descendente
Objetivo: Encontra os coeficientes minimizando a função de custo iterativamente, ajustando os coeficientes na direção do gradiente negativo da função de custo [@bishop2006].
Método: Inicia com um conjunto de valores iniciais para os coeficientes e atualiza-os em pequenos passos na direção que mais reduz o erro. A atualização dos coeficientes é dada por: \[\beta_j = \beta_j - \alpha \frac{\partial J}{\partial \beta_j}\] onde \(\alpha\) é a taxa de aprendizado, e \[\frac{\partial J}{\partial \beta_j}\] é o gradiente da função de custo em relação a \(\beta_j\) [@goodfellow2016].
Requisitos: Escalável para grandes conjuntos de dados, pois processa uma amostra de cada vez (no caso de Gradiente Descendente Estocástico) ou todo o conjunto de dados (Gradiente Descendente em Batch).
Flexibilidade: Pode ser adaptado para incluir regularização (como Lasso ou Ridge) e é capaz de lidar com grandes volumes de dados e variáveis.
Desvantagens: Escolher uma taxa de aprendizado apropriada pode ser desafiador, e a convergência pode ser lenta ou atingir mínimos locais em problemas não convexos. Requer mais ajustes e experimentação [@ruder2016overview].
O método de regressão Ordinary Least Squares (OLS) é comumente utilizado em softwares estatísticos como Stata, SPSS e JAMOVI. Por outro lado, o método de Gradiente Descendente é mais frequentemente empregado em bibliotecas de machine learning, como o scikit-learn em Python, para otimização de modelos de regressão.
Resumo
MQO é um método direto que fornece uma solução analítica para problemas de regressão linear, eficiente para dados pequenos a médios.
Gradiente Descendente é um método iterativo que é mais flexível e escalável para grandes conjuntos de dados, mas pode requerer ajuste de hiperparâmetros como a taxa de aprendizado.
Nos capítulos seguintes exploraremos mais o a técnica MQO para cálculo do coeficiente.
3.4 Exercícios
Na estatística, a regressão linear é usada principalmente para:
Modelar relações não lineares entre variáveis independentes.
Inferir relações entre uma variável dependente e uma ou mais variáveis independentes.
Prever valores categóricos.
Reduzir a dimensionalidade dos dados.
O fator de inflação da variância (VIF) é utilizado para:
Verificar a normalidade dos resíduos.
Avaliar a multicolinearidade entre variáveis independentes.
Determinar a significância dos coeficientes de regressão.
Calcular a taxa de aprendizado no gradiente descendente.
Na aprendizagem de máquina, a regressão linear pode ser melhorada com o uso de:
Testes de hipóteses e análise de variância.
Regularização, como Lasso e Ridge.
Análise de resíduos para verificar homocedasticidade.
Validação cruzada para inferência estatística.
Qual dos seguintes métodos é escalável para grandes conjuntos de dados?
Mínimos Quadrados Ordinários (MQO).
Análise de variância.
Gradiente Descendente.
Testes t e F.
Qual é uma vantagem da regressão linear no contexto de inteligência artificial explicável (XAI)?
A capacidade de modelar dados categóricos complexos.
A simplicidade e a capacidade de fornecer uma base interpretável.
O uso de algoritmos de deep learning para prever resultados.
A capacidade de processar grandes volumes de dados rapidamente.