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.

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))
erros

A 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()

Saída no Console

É 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

  1. Na estatística, a regressão linear é usada principalmente para:

    1. Modelar relações não lineares entre variáveis independentes.

    2. Inferir relações entre uma variável dependente e uma ou mais variáveis independentes.

    3. Prever valores categóricos.

    4. Reduzir a dimensionalidade dos dados.

  2. O fator de inflação da variância (VIF) é utilizado para:

    1. Verificar a normalidade dos resíduos.

    2. Avaliar a multicolinearidade entre variáveis independentes.

    3. Determinar a significância dos coeficientes de regressão.

    4. Calcular a taxa de aprendizado no gradiente descendente.

  3. Na aprendizagem de máquina, a regressão linear pode ser melhorada com o uso de:

    1. Testes de hipóteses e análise de variância.

    2. Regularização, como Lasso e Ridge.

    3. Análise de resíduos para verificar homocedasticidade.

    4. Validação cruzada para inferência estatística.

  4. Qual dos seguintes métodos é escalável para grandes conjuntos de dados?

    1. Mínimos Quadrados Ordinários (MQO).

    2. Análise de variância.

    3. Gradiente Descendente.

    4. Testes t e F.

  5. Qual é uma vantagem da regressão linear no contexto de inteligência artificial explicável (XAI)?

    1. A capacidade de modelar dados categóricos complexos.

    2. A simplicidade e a capacidade de fornecer uma base interpretável.

    3. O uso de algoritmos de deep learning para prever resultados.

    4. A capacidade de processar grandes volumes de dados rapidamente.