top of page

Mínimos Quadrados e Aplicações

  • Foto do escritor: lmbelo94
    lmbelo94
  • 26 de out. de 2024
  • 5 min de leitura

O Método dos Mínimos Quadrados (Least square) faz parte do conjunto de métodos paramétricos. A ideia central é minimizar a soma dos quadrados das diferenças entre os valores observados e os valores previstos por um modelo matemático. Em outras palavras, busca-se encontrar a linha que melhor "se encaixa" nos dados, minimizando o erro entre os valores reais e os valores estimados pelo modelo. Antes de discutirmos o método, vamos nos motivar com exemplos:


Pré-requisito: Álgebra linear (espaço vetorial, transformação linear e produto interno) e python (básico)


Exemplos ilustrativos


Ex 1: Imagine que você é um cientista medindo a altura de uma planta ao longo de várias semanas para entender seu crescimento. Cada semana, você coleta dados, mas percebe que eles são um pouco irregulares, já que pequenos erros de medição são inevitáveis. Como você poderia encontrar uma tendência de crescimento da planta com base nesses dados?


Como abordar? Aqui entra o método dos mínimos quadrados: ele permite que você encontre a "melhor linha" ou curva que representa a tendência dos dados, minimizando a diferença entre os valores observados e a linha ajustada.


Ex 2: (Uma motivada financeira) Um e-commerce quer entender como o lançamento de uma campanha de marketing influencia suas vendas. A empresa coletou dados semanais das vendas, mas há flutuações que dificultam enxergar uma tendência clara.


Como abordar? Ao aplicar o método dos mínimos quadrados, a empresa pode ajustar uma linha de tendência que revela a direção geral das vendas ao longo do período de análise, ajudando a avaliar o impacto da campanha e a prever o comportamento futuro de vendas.


O Objetivo do Método


O método dos mínimos quadrados busca encontrar uma função que minimize a soma dos quadrados das diferenças entre os valores observados e os valores previstos. Esse método é particularmente útil em situações onde temos dados com ruídos e queremos encontrar uma tendência ou relação entre variáveis.


Exemplo Motivacional (Exemplo 5.10 - Cabral e Goldfeld)


Imagine, de forma super-simplificada, que um paciente deva fazer uma refeição consistindo de arroz e carne, de forma a totalizar 150g de alimento com 450 Kcal e 25g de gordura. Dado que 1g de arroz tem 2.5Kcal e 0.03g de gordura e que a mesma quantidade de carne tem 3.1 Kcal e 0.21g de gordura, que quantidade de cada alimento deve ser ingerida?

Estudo do exemplo:

Seja x a quantidade de arroz, em gramas, e y a quantidade de carne. Precisaremos achar a solução do sistema:





Contudo, ao tentar resolver esse sistema, nota-se que ele não há solução 🥲. O que fazer nesse caso? Em outras palavras, dentro de uma visão de álgebra linear, dada a equação matricial Ax = b, o que fazer quando b não está na imagem de A?


O jeito será achar uma solução aproximada.


Explicação


Para entender o método dos mínimos quadrados, consideramos um conjunto de dados

(x1,y1), (x2,y2),...,(xn,yn), onde x é a variável independente e y é a variável dependente.


Explicação dentro da visão de álgebra linear: O objetivo é encontrar x que minimize ||Ax - b||². A função que desejamos minimizar, nesse caso ||Ax - b||², é, comumente, chamada de função objetivo do problema de mínimos quadrados.


Explicação dentro da visão de aprendizado de máquinas (machine learning): O objetivo é encontrar o parâmetro que melhor ajusta a função de predição g, dada por:

Uma forma de estimar os parâmetros da regressão linear acima é o método de mínimos quadrados.


Resultados

Para provarmos o método e mostrar como executá-lo, vamos precisar de definições e resultados importantes.

O Lema acima nos mostra qual equação precisaremos resolver para obter a base do complemento ortogonal do subespaço formado pela matriz A. Lembro que não há solução imagem de A, então vamos importar a noção de projeção ortogonal para obter a melhor resposta possível para ||Ax - b||². Será que nosso resultado será único? (É uma pergunta relevante também).

Para encontrarmos nossa solução de fato, segue o Teorema de mínimos quadrados que já irá nos fornecer que sistema precisaremos resolver (Lembrando que essa solução é única):

Exercício prático


Ajuste de curvas


Além de ajustar uma linha reta, o método pode ser estendido para ajuste de curvas, como uma parábola ou uma curva de grau mais elevado. Em geral, buscamos uma função y = f(x) que melhor ajuste nossos dados, e a função f(x) pode ser polinomial, exponencial, entre outras.


Para um ajuste polinomial, por exemplo, o método dos mínimos quadrados encontra os coeficientes do polinômio que minimizam a soma dos quadrados dos resíduos. Isso é particularmente útil em situações onde a relação entre as variáveis não é linear, como no crescimento populacional ou na previsão de processos físicos.


Vamos a alguns exemplos práticos em Python. No python temos a biblioteca polyfit que usa o método e podemos escolher o grau da curva que desejamos gerar.


a) Ajustando uma reta

Vamos gerar dados aleatórios para aplicar o método.


Comparando mínimos quadrados com interpolação


Note que o método de interpolação se ajusta demais aos dados, o que chamamos de overfitting. Isso é um problema, pois o que desejamos ao criar um modelo é fazer predições para novos dados que chegarão. Dessa forma, ajustar demais ao conjunto de treinamento não é vantagem.


b) Ajuste linear

Vamos trabalhar um novo problema e resolvê-lo usando python.




Como melhorar o desempenho computacional?

Deixarei para um futuro artigo discussões mais avançadas sobre o tema. Mas antes de encerrar por aqui direi uma GRANDE ferramenta para aprimorar o método: fatoração de matrizes, pois, ao montarmos um modelo e obtermos a matriz A, devemos buscar maneiras de melhorar o tempo de obtenção dos parâmetros da função. Para isso, faz-se necessário, muitas vezes, fatorar a matriz.


Temos, por exemplo:


a) Fatoração de Cholesky: Caso A seja simétrica e positiva, essa fatoração pode ser uma boa alternativa, pois teríamos A como o produto de uma triangular inferior L e sua transposta, o que melhora o custo computacional.


b) Fatoração QR: Como toda matriz quadrada de entradas reais pode ser decomposta em A = QR, onde Q é uma matriz ortogonal e R uma matriz triangular superior. Além disso, se A é invertível, então a fatoração QR é única. Essa fatoração nos ajudará na solução final:

Comentário: o python tem uma biblioteca que já faz essa decomposição que é numpy.linalg.qr

Comentário: se a matriz for esparsa, então a abordagem se torna ainda mais vantajosa.


c) Fatoração SVD: Quando estivermos diante de uma matriz não quadrada, esta fatoração será uma boa alternativa.


Mais sobre aplicações

O método dos mínimos quadrados é amplamente utilizado em:

  • Estatística e Ciência de Dados: No ajuste de modelos preditivos em regressão linear.

  • Economia: Para modelagem de séries temporais e previsão de tendências econômicas.

  • Engenharia e Física: No ajuste de dados experimentais e em simulações para otimizar modelos.

  • Medicina e Biologia: Para análise de crescimento de organismos ou efeitos de tratamentos ao longo do tempo.

  • Processamento de Sinais: Em engenharia elétrica, para filtrar ruídos e ajustar sinais a um padrão esperado.

O método dos mínimos quadrados fornece uma base sólida para análises quantitativas, ajudando a extrair significado e tendências de dados observacionais.


Referências



留言


bottom of page