Mínimos Quadrados - Caso discreto e contínuo

Ver Todos os Exercícios

Teoria

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 encontrar 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, foram fornecidos 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 , nos quais 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 três 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

Chegamos na resposta para o problema!! \o\

A função que melhor aproxima f ( x )   =   4 x ³ em 0,1   em uma reta é:

φ x = 18 5 x - 4 5

Viu, é mais fácil que parece! Bora fazer mais exercícios :)

Mínimos Quadrados Caso Contínuo

Exemplo

Exercícios Resolvidos

Exercício Resolvido #1

Utilizando o método discreto, obtenha a reta que melhor se ajusta ao seguinte problema:

Passo 1

Temos que encontrar a reta g ( x )   =   x a 1   +   a 2 que se ajusta bem aos pontos e resolve o sistema .

Considerando os dados:

Vamos montar uma daquelas famigeradas tabelinhas mágicas para resolver o sistema, contendo os seguintes somatórios: x , x 2 ,   f x e   f x . x :

Com esses dados, conseguimos montar um sisteminha com os dados encontrados:

Solucionando o sistema, ficamos com:

a 1 =   - 3,9960

a 2   =   0.9860

Resposta

a 1 =   - 3,9960

a 2   =   0.9860

Exercício Resolvido #2

Utilizando o método discreto, obtenha a reta que melhor se ajusta ao seguinte problema:

Passo 1

Temos que encontrar a reta g ( x )   =   x a 1   +   a 2 que se ajusta bem aos pontos e resolve o sistema .

Considerando os dados:

Vamos montar uma daquelas famigeradas tabelinhas mágicas para resolver o sistema, contendo os seguintes somatórios: x , x 2 , x 3 , x 4 , x 2 . f x ,   f x e   f x . x :

Com esses dados, conseguimos montar um sisteminha com os dados encontrados:

115 a 1 + 27 a 2 + 19 a 3 = 565

27 a 1 + 19 a 2 + 3 a 3 = 134,98

19 a 1 + 3 a 2 + 6 a 3 = 90

Passo 2

Solucionando o sistema por qualquer um dos métodos de resolução de sistemas lineares.

115 a 1 + 27 a 2 + 19 a 3 = 565

27 a 1 + 19 a 2 + 3 a 3 = 134,98

19 a 1 + 3 a 2 + 6 a 3 = 90

Link do programa: https://matrixcalc.org/pt/slu.html

Para facilitar a visualização, usaremos um programa que soluciona sistemas lineares pelo método de Gauss, que já vimos anteriormente e nosso objetivo aqui é entender o método dos mínimos quadrados!

Resposta

a 1 =   5,0893

a 2   =   0.0515

a 3   =   - 1,1403

Exercício Resolvido #3

Encontre a reta que melhor se aproxima do polinômio f x = 4 x 3 em   [ 0,1 ] .

Passo 1

Para encontrar a reta que melhor se aproxima do polinômio, fazemos considerações iniciais:

g 1 x = x

g 2 x = 1

A reta que irá se aproximar melhor do polinômio é:

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

Passo 2

Aqui, montaremos a nossa matriz e sistemas de equações partindo das integrais no intervalo dado:

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

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

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

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 = x 4 0 1 = 1

Passo 3

A partir desses dados, montamos o sisteminha de equações:

1 / 3 1 / 2 1 / 2 1 x y = 4 / 5 1

Resolvendo o sistema, ficamos com:

x = 18 / 5

y =   - 4 / 5

Resposta

O polinômio interpolador é:

φ x = 18 5 x - 4 5

Exercício Resolvido #4

O diagrama de dispersão é extremamente importante para definir qual será o comportamento de um conjunto de pontos e escolher qual tipo de ajuste de curvas se encaixa melhor. Programe, hipoteticamente, um mecanismo que armazene pontos e imprima na tela no formato de diagrama de dispersão e só para deixar divertido, escolha uma cor para o diagrama:

Passo 1

Aqui, usaremos como base a lógica de programação utilizada no octave e matlab :

Primeiro dizemos o que é o nosso programa e para que serve, o disp imprime na tela e não armazena dados

disp ('O programa realiza o ajuste linear de curvas usando o metodo dos minimos quadrados.');

Agora, colocamos uma mensagem para que o usuário digite, mas precisamos que sejam armazenados valores:

n=input('Digite a quantidade de termos do vetor x maior que 1 : '); %

O mesmo valore para valores de y:

m=input('Digite a quantidade de termos do vetor y maior que 1 : '); % em tese o vetor y deve ter o mesmmo tamanho de x para todas, essa linha existe apenas por causa do error

Definimos uma condição de erro, para que x e y tenham tamanho igual:

if n!=m %Da uma condição, que se for verdadeira executa um comando error("Programa indevido.\n"); %função error, define um erro se o tamanho dos vetores x e y forem errados (condição anterior)

endif %Finaliza a condição executada

Passo 2

Definir as entradas:

x=0; %definir como zero para entrar no laço de repetição

y=0; %%definir como zero para entrar no laço de repetição

Trabalharemos com o x, imprimindo recados ao usuário e ao computador para armazenar os dados:

disp ('Valores para o vetor x ') %Imprime para o usuário quais valores ele vai precisar inserir no programa for i = 1:n %n é o tamanho maximo de dados do vetor

x(i)= input('Digite o valor: '); %valores que o x vai receber e armazenar endfor %finaliza o laço de repetição

O mesmo vale para y:

disp ('\nValores para o vetor y') %Imprime que tipo de valor o usuário vai colocar no programa for i = 1:n %tamanho maximo no vetor y deve ser o mesmo de x

y(i)= input('Digite o valor: '); %valores recebidos por y endfor %finaliza o laço de repetição

Passo 3

Agora vamos ao diagrama de fato:

Devemos definir o diagrama como figura

figure

Agora, colocamos a função do diagrama:

scatter (x,y, 'm') %plota diagrama de dispersão, 'm' muda a cor para magenta

Resposta

scatter (x,y, 'm') %plota diagrama de dispersão, 'm' muda a cor para magenta

Exercício Resolvido #5

Relacione A para método dos mínimos quadrado de caso discreto e B para o caso contínuo:

( ) Utiliza diagrama de dispersão.

( ) Necessita de um conjunto de pontos

( ) Se o determinantedo sistema de equações normais for diferente de zero, então há um ajuste único de parâmetros que minimiza o erro quadrático.

( ) Quando as funções escolhidas (g_1, g_2...g_n) forem linearmente independentes, o determinante será diferente de zero

( ) Utiliza cálculo de integrais no processo.

Passo 1

  1. Utiliza diagrama de dispersão.

O método do caso discreto analisa e direciona o cálculo através da análise gráfica do diagrama de dispersão.

Passo 2

(A) Necessita de um conjunto de pontos

Passo 3

( B ) Se o determinantedo sistema de equações normais for diferente de zero, então há um ajuste único de parâmetros que minimiza o erro quadrático.

( B ) Quando as funções escolhidas (g_1, g_2...g_n) forem linearmente independentes, o determinante será diferente de zero

( B ) Utiliza cálculo de integrais no processo.

Resposta

Relacione A para método dos mínimos quadrado de caso discreto e B para o caso contínuo:

(A) Utiliza diagrama de dispersão.

(A) Necessita de um conjunto de pontos

(B) Se o determinantedo sistema de equações normais for diferente de zero, então há um ajuste único de parâmetros que minimiza o erro quadrático.

(B) Quando as funções escolhidas (g_1, g_2...g_n) forem linearmente independentes, o determinante será diferente de zero

(B) Utiliza cálculo de integrais no processo.

Exercícios de Livros Relacionados

13. Seja f ( x ) uma função real, de variável real, definida e contínua no intervalo [ 0,2 π ] e seja também n um número fixado.Ache os valores das constantes reais, a 0 , a 1 , … , a n , b 1 , b 2 ,
Um capacitor de capacitância CF a r a d , com carga inicial de q Coulomb está sendo descarregado através de um circuito elétrico que possui um resistor com resistência de RO h m s . Da teoria sabe-se