Mínimos Quadrados - Caso discreto e contínuo

Teoria Completa

Introdução

Fala Aíí!! Imagina se nos deparamos com um problema desses:

Observe os pontos da função y k

Com x 1 , x 2 ,..., x n pertencendo a um intervalo [ a , b ] . Qual é a cara da função y ?

Tremeu na base? Calma que eu tenho a solução para os seus problemas!!!

Vamos trabalhar com as informações que temos. Nesse caso só temos como base para achar a função os pontos ( x k , y k ) dela, concorda?! Aqui que entra os Mínimos Quadrados! Através desse método vamos utilizar os pontos que temos para aproximar essa função o máximo que der e descobrir com qual carinha ela vai se parecer, beleza?!

Mínimos Quadrados

No tópico anterior nós vimos como resolver esse tipo de questão através do método dos Mínimos Quadrados. Vamos relembrar o que foi dito?!

Se quisermos resolver uma questão como a do enunciado, precisamos ESCOLHER funções g 1 , g 2 ,..., g n   contínuas em [ a , b ] e ENCONTRAR os coeficientes α 1 , α 2 , … , α n de modo que a função

φ ( x ) = α 1 g 1 ( x ) + α 2 g 2 ( x ) + . . . + α n g n ( x )

Seja

φ ( x k ) = y k

Show de bola?!

Ou seja, a função φ ( x ) vai se aproximar ao máximo de y k .

Primeiro precisamos analisar o gráfico de dispersão e encontrar as funções g 1 , g 2 ,..., g n   contínuas em a , b   que mais se assemelham ao gráfico. Por exemplo, se tivermos esse gráfico:

Esses pontos lembram pontos de uma parábola, concorda?! Então,

g 1 = x 2 ,     g 2 = x             e               g 3 = 1

Podemos seguir o algoritmo apresentado no tópico anterior para ncontrar os coeficientes

α 1 , α 2 , … , α n :

Passo 1. Dados iniciais (o que seu programa vai receber de você):

a. Vetor de valores f _ = f x 1 , f x 2 , … , f x m

b. Matriz com os n vetores h k _

Passo 2. Definimos A como uma matriz n × n cheia de zeros.

Passo 3. Definimos b como um vetor de tamanho n cheio de zeros.

Passo 4. Para i de 1 a n repita o passo 5.

Passo 5. Para j de 1 a i repita o passo 6.

Passo 6. A i j = A j i = 〈 h i _ , h j _ 〉

Passo 7. Para i de 1 a n repita o passo 8.

Passo 8. b i = 〈 f _ , h i _ 〉

Passo 9. Jogamos nossa matriz A e nosso vetor b em algum método de resolução linear e teremos como retorno o vetor dos coeficientes c .

E é assim que aprendemos a resolver esse tipo de questão, mas isso só aplica a casos discretos.

Caso discreto? WTF?! Calma que você já vai entender!

O método de interpolação por mínimos quadrados acontece com dois casos: o caso discreto e o caso contínuo.

O caso discreto, que já sabemos resolver, é o caso onde o enunciado da questão nos dá pontos de uma função (que pode ou não ser contínua) e nós achamos uma aproximação.

Já no caso contínuo, o enunciado nos dá uma função CONTÍNUA em um intervalo   [ a , b ] e nos pede uma aproximação.

Se olharmos novamente para o enunciado, foi fornecido pra gente pontos de uma função y   que não sabemos se é contínua ou não... então resolvemos através do Método dos Mínimos Quadrados Caso Discreto!

Vamos aprender agora como faz para encontrar o uma aproximação através do Método dos Mínimos Quadrados Caso Contínuo?!

Mínimos Quadrados Caso Contínuo

Pra ficar mais claro vamos começar com um exemplo:

Encontre a reta que melhor aproxima f ( x )   =   4 x ³ em 0 ,   1 .

Percebe que o enunciado está pedindo para aproximar uma função polinomial? Sabemos que funções polinomiais são contínuas nos reais e sabemos calcular todas as suas derivadas e integrais…

Mas e se eu te perguntar o gráfico dela? Difícil de imaginar né? Confesso que eu não tenho a mínima ideia também... por isso que faz sentido querermos aproximar essa função para uma coisa mais fácil de trabalhar, como uma reta!!

Tá beleza, mas como fazemos isso? Vamos descobrir agora!

Ok, imagina que temos que aproximar uma função contínua f ( x ) .

Da mesma forma do caso discreto, queremos encontrar uma função φ ( x ) tal que

φ x ≈ f x

sendo que:

φ ( x ) = α 1 g 1 ( x ) + α 2 g 2 ( x ) + . . . + α n g n ( x )

Como se trata de uma função contínua, para o erro ser menor, calcular essa função φ significa que queremos que a área sob a curva do quadrado dos desvios seja mínima, ou seja estamos falando agora de integrais:

J α 1 ,   α 2   ,   …   ,   α n = ∫ a b ( φ ( x ) - f ( x ) ) ² d x

Beleza?!

Ok, então já sabemos o que queremos. Agora, da mesma forma que no caso discreto, vamos encontrar os pontos críticos de J , onde a derivada é zero:

δ J δ α j = 0

Para todo j = 1 , . . . , n .

Se substituímos o valor de J e calcularmos a derivada parcial pela regra da cadeia obteremos isso:

δ J δ α j = 2 ∫ a b ( α 1 g 1 ( x ) + α 2 g 2 ( x ) + . . . + α n g n ( x ) - f ( x ) ) g j ( x ) d x

Como queremos δ J δ α j = 0 , temos:

∫ a b ( α 1 g 1 ( x ) + α 2 g 2 ( x ) + . . . + α n g n ( x ) - f ( x ) ) g j ( x ) d x = 0

Se quiser ainda podemos abrir a integral desse jeito:

∫ a b α 1 g 1 x g j x d x   + . . . + ∫ a b α n g n x g j x d x =     ∫ a b f x g j x d x

Para todo j = 1 , . . . , n

Essa é a equação geral na hora de resolver o problema! Você tem que encontrar uma equação para cada g j   que tiver. No final você vai ter um sistema de equações desse jeito:

Esse sistema é chamado se sistema de equações normais, beleza?!

Respira fundo que tá acabando!

Ok, da mesma forma do caso discreto, precisamos ESCOLHER funções g 1 , g 2 ,..., g n contínuas em [ a , b ] e ENCONTRAR os coeficientes α 1 , α 2 , … , α n .

As funções g 1 , g 2 ,..., g n vão depender do enunciado e para o quê queremos aproximar essa função f ( x ) . Então só falta agora entender como encontrar os coeficientes α 1 , α 2 , … , α n .

Vamos seguir os mesmos passos do caso discreto, escrever o sistema de equações normais em forma matricial:

A α = b

De modo que:

  • A seja uma matriz   n × n ,
  • α = ( α j )   a matriz com os coeficientes
  • b = ( b i ) ϵ   R n

A matriz A   = ( a i j ) será definida como:

a i j = < g i , g j > = ∫ a b g i ( x ) g j ( x ) d x

E b = ( b i ) como:

b i = < f , g i > = ∫ a b f ( x ) g j ( x ) d x

Resolvendo esse sistema de matrizes conseguimos encontrar o valor de cada coeficiente da função φ ( x )

Vamos agora fazer aquele exemplo para tudo ficar claro como a luz do sol?!

Exemplo

Encontre a reta que melhor aproxima f ( x )   =   4 x ³ em   0,1 .

Ok, temos aqui uma função Polinomial de grau quatro que queremos aproximar para uma reta.

Se queremos aproximar para uma reta, cara da nossa φ ( x ) vai ser:

φ ( x ) = α 1 g 1 ( x ) + α 2 g 2 ( x )

onde:

g 1 x = x e g 2 x = 1

Beleza?!

Porque desse modo obtemos uma equação de reta

φ ( x ) = α 1 g 1 ( x ) + α 2 g 2 ( x )

φ ( x ) = α 1 x + α 2

Show de bola?!

Agora vamos calcular nossa matriz A

a 11 = < g 1 , g 1 > =   ∫ a b x 2 d x =   1 3 x 3   ,   0,1 = 1 3

E assim encontramos o elemento a 11 da nossa matriz A.

Para encontrar os próximos elementos da matriz é só seguir a mesma idéia.

Se você reparar nesse caso a 12 = a 21 ,

a 12 = < g 1 , g 2 > =   ∫ a b x d x = 1 2 x 2 ,   0,1 = 1 2 = a 21

Agora só falta encontrar a 22

a 22 = < g 2 , g 2 > =   ∫ a b 1 d x = x ,   0,1 = 1

Calculando b = ( b i ) temos:

b 1 = < f , g 1 > = ∫ a b 4 x 4 d x = 4 5 x 5 0,1 = 4 5

b 2 = < f , g 2 > = ∫ a b 4 x 3 d x = 4 4 x 4 0,1 = 1

Tudo pronto para montar nosso sistema matricial!

1 3 1 2 1 2 1 ∙ α 1 α 2 = 4 5 1

Resolvendo o sistema, encontramos os valores dos coeficientes:

α 1 α 2 = 18 5 - 4 5