O Problema de Quadrados Mínimos¶
Suponha que na modelagem de um determinado problema chegue-se ao seguinte sistema linear, o qual deseja-se determinar as incógnitas e :
Esse sistema pode ser reescrito na forma matricial como
Claramente, o sistema não possui solução exata única (a matriz não é sequer quadrada, menos ainda invertível). Analisando do ponto de vista de transformações lineares, sabemos que o sistema será possível e indeterminado se . No entanto,
Logo, os 3 vetores são linearmente independentes e o sistema é impossível, pois não existem vetores em tais que , onde é a matriz associada ao sistema.
Supondo que a modelagem foi feita corretamente (sistemas como esses são perfeitamente possíveis e comuns em problemas reais, principalmente quando se tem mais dados observados que incógnitas a serem determinadas), uma solução aproximada seria determinar o vetor pertencente ao espaço gerado pelas colunas de (nesse caso, uma combinação linear entre os vetores e ) que está “mais próximo” do vetor . Isto é, utilizando a norma vetorial, queremos determinar que minimize ().
Considere, então, o caso geral (com ). O que procuramos é:
Pensando geometricamente, corresponde à distância do ponto até o subespaço de gerado pelas colunas de , logo, a menor distância será aquela ortogonal ao subespaço. Isso significa que o vetor procurado é tal que o vetor é ortogonal ao espaço coluna de e, em particular, é ortogonal a cada vetor coluna de .
Portanto, sejam as respectivas colunas de , temos:
Utilizando a notação matricial, isso é equivalente a:
O que por sua vez nos dá . Essa equação, comumente escrita como , é chamada de equação normal e é a base para a solução do problema através da abordagem desenvolvida até aqui, denominada de Método dos Quadrados Mínimos (o nome vem da análise do problema do ponto de vista do Cálculo, que procura minimizar o erro quadrático , resultando na mesma equação normal).
Soluções da Equação Normal¶
Consideremos primeiramente o caso mais simples, quando , com , possui posto completo (ou seja, ). Pelo Teorema 9.12 e a equivalência entre transformações lineares e matrizes, sabemos que o posto de , que é , também será . Logo, é invertível e podemos resolver por:
Apesar de podermos determinar exatamente nesse caso, é importante destacar que ele corresponde à solução da equação normal , e não ao problema original que, como vimos, pode nem mesmo possuir soluções. Esse é o caso do sistema linear (2), uma vez que tal possui 3 linhas e 2 colunas () e posto completo (), mas o sistema é impossível.
Quando, no entanto, é quadrada e invertível, a solução da equação normal coincide exatamente com a solução do sistema original, pois:
O mesmo acontece quando é possível e indeterminado. Nesse caso, não será invertível e as infinitas soluções de irão coincidir com as de .
Uma vez que é um sistema impossível, as soluções (ou a solução única, no caso e posto completo) de são soluções aproximadas de , com base no critério de minimizar .
Caso geral e pseudoinversa¶
Utilizando a pseudoinversa de Moore-Penrose, dada por Definição 11.9 (Pseudoinversa de Moore-Penrose), podemos resolver no caso geral, que independe da quantidade de linhas e colunas, assim como do posto de .
Demonstração 14.1
Uma vez que tem e posto completo, então seu posto é igual a . Consequentemente, é invertível e a solução da equação normal é dada unicamente por . Seja , substituindo e utilizando o fato que e são matrizes ortogonais, obtemos o seguinte:
Agora, note que a matriz tem dimensão e é diagonal, contendo os valores singulares não nulos de ao quadrado. Logo, existe e é dada por com os inversos dos quadrados dos valores singulares. Então, ao fazermos o que obtemos é uma matriz diagonal, contendo os inversos dos valores singulares de (que, neste caso, são todos não nulos), o que corresponde exatamente à matriz . Logo,
Concluímos que, quando e tem posto completo, . Em geral, calcular a decomposição SVD de e determinar sua pseudoinversa tem menor custo computacional que calcular , uma vez que inversão de matrizes tem alto custo.
Agora, estendemos esse resultado para o caso geral, onde nos dará uma solução única para a equação normal em função de um critério específico.
Demonstração 14.2
Começamos verificando que é solução de . Seja ,
Mais uma vez, é uma matriz diagonal contendo os valores singulares ao quadrado. Quando fazemos seu produto por , que é uma matriz contendo o inverso dos valores singulares não nulos, o que obtemos é uma matriz contendo os valores singulares, que é propriamente . Logo,
Assim, é solução da equação normal.
Agora, verificamos que possui norma mínima entre as soluções da equação normal.
Começamos notando que, pela construção que fizemos de no início do tópico, qualquer solução é tal que é o vetor no espaço coluna de de forma que é mínimo, onde tal distância é a distância perpendicular entre o ponto e o espaço coluna de , que por sua vez é única. Logo, o vetor , onde é uma solução da equação normal, é o mesmo para todas as soluções , denominado projeção de no espaço coluna de . Portanto, seja , temos que:
O que por sua vez nos dá que é um vetor do núcleo de . Em particular, seja , então todo vetor solução da eq. normal pode ser escrito como . Agora, considere a decomposição SVD de . Pela construção que tem a pseudoinversa, note que o vetor irá pertencer ao espaço coluna de . Mas temos que o núcleo de é ortogonal ao espaço coluna de , consequentemente .
Assim, temos enfim que:
(veja que a quebra da norma nas duas parcelas é consequência do fato de e serem ortogonais e Propriedade 7.8 Teorema de Pitágoras)
Donde concluímos que e teremos a igualdade somente quando e . Portanto, é a solução da equação normal de norma mínima.
Com isso, temos uma solução geral para o problema de Quadrados Mínimos, e ainda, única pelo critério de norma mínima (mesmo que a equação normal possua infinitas soluções).
Exemplos numéricos¶
Voltando ao sistema inicial (2), encontraremos sua solução aproximada via quadrados mínimos utilizando a inversa da matriz (pois como já vimos, a matriz associada a esse sistema tem posto completo).
A equação normal associada é dada por:
Então, calculamos a inversa da matriz :
Obtendo a solução de quadrados mínimos:
Como constatado no Teorema 14.1, essa solução é a mesma fornecida pela pseudoinversa.
Para ilustrar a solução de quadrados mínimos via pseudoinversa, considere o seguinte sistema, que não possui solução exata e nem posto completo:
Calculando a pseudoinversa, obtemos:
Logo, a solução de quadrados mínimos de menor norma é dada por:
Assim como no tópico de Compressão de Imagens, podemos utilizar a linguagem Python e as funções de Álgebra Linear da biblioteca NumPy, dessa vez para resolver quadrados mínimos via pseudoinversa numericamente. Isso normalmente é feito em problemas reais, cujas matrizes possuem dimensões maiores e o cálculo exato da solução é pouco viável:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21import numpy as np # Definir as matrizes A = np.array([[1, 2], [2, 4], [3, 6]], dtype=float) b = np.array([[1], [0], [0]], dtype=float) # Calcular a pseudoinversa A_pinv = np.linalg.pinv(A) # Calcular a solução x = A_pinv @ b print("\nPseudoinversa de A:") print(A_pinv) print("Solução:") print(x)
Solução numérica de quadrados mínimos via pseudoinversa
Note que o resultado é determinado numericamente e normalmente não corresponde à solução exata, mas é suficientemente preciso na maioria dos casos práticos.
Obtemos:
Com uma precisão de sete casas decimais em relação à solução exata encontrada.