Caso Não Linear

Teoria Completa

Introdução

Faaaaala aí, tudo certinho? Vamos dar uma recapitulada: até agora nós vimos ajuste linear de uma função, mas e se a função tiver um comportamento muito diferente, dá pra usar o método dos mínimos quadrados?

Muitas vezes, nós temos dados experimentais em que o ajuste linear não é adequado e não pode ser considerado. Neste caso, necessitamos de outras famílias de funções que representem bem o conjunto de dados.

Agora um dos parâmetros foi para dentro da função e não é mais linear. E agora, o que fazemos?

O Responde Aí, é claro! Então vamos ver como prosseguir nesses casos.

Caso não linear

O primeiro caso é o ajuste exponencial, se nós obtemos os dados experimentais dispostos como uma exponencial a qual sugere que devemos aproximar. A dificuldade de aplicação do método dos mínimos quadrados neste caso consiste na tentativa de minimizar o erro. Considerando a e b constantes, temos a função:

  φ x = y = a e b x

Aplicando logaritmo dos dois lados temos:

  l n ⁡ ( y ) = l n ⁡ ( a e b x ) = ln ⁡ a + b x

Substituindo:

ln ⁡ y = Y

l n a = α 0

b = α 1

x = X

Com todas essas considerações, nós conseguimos:

Y = α 0 + α 1 . X

Que é um problema que sabemos resolver pois é linear!! Não contavam com a nossa astúcia! Vamos ver um exemplo de como isso funciona na prática.

Suponha que você obteve a tabela de abaixo de uma experiência:

Se jogarmos isso em um diagrama no diagrama de dispersão temos:

Que parece ser uma exponencial decrescente então vamos aproximar com essa função aqui:

  φ x = y = a e b x

Agora reescrevemos a tabela trocando f x por ln ⁡ f x que é o nosso y :

Se jogarmos novamente esses pontos em um diagrama de dispersão, teremos:

E como já era de se esperar, temos uma reta! Se a nossa aproximação não for razoável, o que nesse exemplo quer dizer que os pontos não se comportam como uma função da família a e b x , esse diagrama de dispersão não daria uma reta! Esse diagrama é o chamado teste de alinhamento e serve para verificarmos se escolhemos uma boa família de funções para aproximar os pontos da tabela.

A menos que o exercício peça, ele é opcional, você faz se quiser pra ter certeza que ta indo no caminho certo. Agora a gente resolve normalmente usando:

ϕ x = a 0 + a 1 x

Vamos montar aquela tabela de organização, e a primeira e segunda coluna são basicamente o que o exercício dá, então é só preencher x k e l n ⁡ ( f ( x k   ) ) , . Para cada linha da tabela iremos preencher também cada valor de x k elevado ao quadrado, e também cada valor de x k multiplicando pelo valor da função no ponto x k . l n ⁡ ( f ( x k   ) ) . Pra fazer o somatório, basta somar os valores totais de caaaaaada coluna.

Reorganizando direitinho, as fórmulas para α 0   e   α 1 são:

α 0 = [ ( ∑ i = 1 5 x i       2 ) ( ∑ i = 1 5 l n ⁡ ( f ( x i   ) ) ) ] - [ ( ∑   i = 1 5 l n ⁡ ( f ( x i   ) ) . x i ) . ( ∑ i = 1 5 x i     ) ] m ∑ i = 1 5 x i       2 - ∑ i = 1 5 x i     2

α 1 = m ∑   i = 1 5 l n ⁡ ( f ( x i   ) ) . x i - [ ∑ i = 1 5 x i     . ∑ i = 1 5 l n ⁡ ( f ( x i   ) ) ] m ∑ i = 1 5 x i       2 - ∑ i = 1 5 x i     2

Jogando na fórmulinha aqueles valores que nós organizamos na tabela fica:

α 0 = [ 7,45 3,7532 - ( - 8,1164.0,3 ) ] 6 7,45 - 0,3 2 = 0 , 6814

α 1 = [ 6 - 8,1164 - ( 0,3 . 3 , 7532 ) ] 6 7,45 - 0,3 2 = - 1,1169  

Agora lembrando das trocas de variáveis que a gente fez, temos que:

l n a = α 0   ⇒ α 0 = 1,9766

a 1 = b = - 1,1169

Assim, nossa função é:

φ x = a e b x = 1,9766 e - 1 . 1169 x

Show? E só pra mostrar pra vocês que realmente funciona olha como essa função que a gente encontrou se ajeita aos pontos:

É tão bonito quando as coisas funcionam né? haha.

Casos Comuns

Bom, naturalmente a forma que você vai usar para linearizar a função vai depender muito do problema, mas vou mostrar pra vocês algumas linearizações manjadas ;)

1. Hiperbólica

y ≈ 1 α 0 + α 1 x = φ x

Y = 1 y ≈ α 0 + α 1 x = ϕ x

2.Exponencial

y ≈ a e b x = φ x

Y = ln ⁡ y ≈ ln ⁡ a ⏟ a 1 + b ⏟ a 2 x = a 1 + a 2 x = ϕ x

3.Potencial

y ≈ a x b = φ x

Y = ln ⁡ a x b ≈ ln ⁡ a ⏟ a 1 + l n ⁡ ( x b ) = l n ⁡ ( a ) + b ln ⁡ x = ϕ x

Nesse caso, para tornar a função completamente linear podemos fazer uma outra mudança de variável w = ln ⁡ x , obtendo Y = a 0 + a 1 w . Isso é opcional pois como sabemos podemos aplicar o método dos mínimos quadrados em funções como a 0 + a 1 ln ⁡ x .

Algoritmo

Não tem algoritmo aqui porque a linearização que você vai fazer depende do problema e, portanto, não existe um algoritmo geral. Depois de fazer a linearização é só jogar no algoritmo dos mínimos quadrados que vimos no último tópico

Vamos fazer uns exercícios pra fixar então!

Expandir

Exercício Resolvido #1

Lista 5 – Professora Angela – UFRJ – Questão 3

A tabela abaixo representa o consumo de um novo produto em determinada cidade, durante o ano de 1976 . Admitindo-se que o aumento do consumo é exponencial, estime o consumo para agosto usando o Método dos Mínimos Quadrados. (consumo = a e b t )

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Se dissermos que o mês é nossa variável x , que o consumo é uma função de x f x e usarmos os números correspondentes de cada mês ficamos com:

Onde nossa função de aproximação é:

φ x = c 1 e c 2 x

Linearizando:

z = ln ⁡ y ≈ ln ⁡ φ x = ln ⁡ c 1 ⏟ a 1 + c 2 ⏟ a 2 x = a 1 + a 2 x

ϕ x = a 1 + a 2 x

A tabela linearizada fica assim:

E temos que h 1 x = 1 e h 2 x = x .

Temos então os vetores:

h 1 ¯ = 1,1 , 1,1 , 1,1

h 2 ¯ = 1,2 , 3,4 , 5,6

f ¯ = 3.7377,4.2047,4.7185,5.1985,5.7494,6.2989

Passo 2

Agora montamos a matriz A que vai ser 2 × 2 já que temos duas funções h k x :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 6 21 21 91

E o vetor b :

b = z ¯ , h 1 ¯ z ¯ , h 2 ¯ = 29.908 113.637

Resolvendo o sistema:

6 21 21 91 a 1 a 2 = 29.908 113.637

a 1 = 3.193

a 2 = 0.512

Voltando as variáveis:

a 1 = ln ⁡ c 1 ⇒ c 1 = 24.361

a 2 = c 2 = 0.512

Logo:

φ x = 24.361 e 0.512 x

Substituindo para o mês 8 :

φ 8 = 24.361 e 0.512 ∙ 8 = 1464.082

Ou seja, aproximadamente 1464 unidades.

Resposta

1464 unidades

Exercício Resolvido #2

Lista 5 – Professora Angela – UFRJ – Questão 4

A tabela abaixo representa a intensidade de uma fonte radioativa. Determinar a intensidade de radiação para t = 1.2 usando ajuste exponencial.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Nossa aproximação será

φ t = c 1 e c 2 t

Linearizando:

z = ln ⁡ I ≈ ln ⁡ φ t = ln ⁡ c 1 ⏟ a 1 + c 2 ⏟ a 2 t = a 1 + a 2 t

ϕ t = a 1 + a 2 t

A tabela linearizada fica assim:

E temos que h 1 t = 1 e h 2 t = t .

Temos então os vetores:

h 1 ¯ = 1,1 , 1,1 , 1

h 2 ¯ = 0.4,0.5,0.6,0.7,0.8

f ¯ = 0.5596,0.2927,0.0 , - 0.3011 , - 0.5798

Passo 2

Agora montamos a matriz A :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 5 3 3 1.9

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = - 0.029 - 0.304

Resolvendo o sistema:

5 3 3 1.9 a 1 a 2 = - 0.029 - 0.304

a 1 = 1.714

a 2 = - 2.866

Voltando as variáveis:

a 1 = ln ⁡ c 1 ⇒ c 1 = 5.551

a 2 = c 2 = - 2.866

Logo:

φ x = 5.551 e - 2.866 t

Passo 3

Substituindo para t = 1.2 :

I ≈ φ 1.2 = 0.1781

Resposta

I ≈ 0.1781

Exercício Resolvido #3

UNICAMP – Lista 6 – Questão 9 Adaptada

Verifique que as funções não lineares a seguir podem ser linearizadas por transformações matemáticas. Explicite a relação entre a função original e a linearizada.

a   f x = 5 a 1 x + a 2

b   f x = 1 + a 1 x 2 + a 2

c f x = ln ⁡ a 1 + a 2 x 2

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

a

y = 5 a 1 x + a 2

z = 1 y = a 1 x + a 2 5 = a 1 5 x + a 2 5

Então a função linearizada é a seguinte:

z = c 1 x + c 2

Com relações:

z = 1 y

c 1 = a 1 5

c 2 = a 2 5

Passo 2

b

y = 1 + a 1 x 2 + a 2

z = 1 y - 1 = x 2 + a 2 a 1 = x 2 a 1 + a 2 a 1

A função linearizada é:

z = c 1 x 2 + c 2

Podemos ainda fazer a mudança de variáveis w = x 2 obtendo z = c 1 + c 2 w , apesar de podermos resolver o problema sem essa mudança.

Com relações:

z = 1 y - 1

w = x 2

c 1 = 1 a 1

c 2 = a 2 a 1

Passo 3

c

y = ln ⁡ a 1 + a 2 x 2

z = e y = a 1 + a 2 x 2

A função linearizada é:

z = c 1 + c 2 x 2

Novamente podemos fazer a mudança de variáveis w = x 2 obtendo z = c 1 + c 2 w .

Com relações:

z = e y

w = x 2

c 1 = a 1

c 2 = a 2

Resposta

a z = c 1 x + c 2

z = 1 y ; c 1 = a 1 5 ; c 2 = a 2 5

b z = c 1 + c 2 w

z = 1 y - 1 ; w = x 2 ; c 1 = 1 a 1 ; c 2 = a 2 a 1

c z = c 1 + c 2 w

z = e y ; w = x 2 ; c 1 = a 1 ; c 2 = a 2

Exercício Resolvido #4

Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 290, exercício 10 Adaptado

Aproxime a tabela abaixo por uma função do tipo g x = 1 + a e b x usando quadrados mínimos. Encontre o erro da aproximação.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Nossa aproximação será

y ≈ φ t = 1 + c 1 e c 2 t

y - 1 ≈ φ t - 1 = c 1 e c 2 t

Linearizando:

z = ln ⁡ y - 1 ≈ ln ⁡ φ t - 1 = ln ⁡ c 1 ⏟ a 1 + c 2 ⏟ a 2 t = a 1 + a 2 t

ϕ t = a 1 + a 2 t

A tabela linearizada fica assim:

E temos que h 1 t = 1 e h 2 t = t .

Temos então os vetores:

h 1 ¯ = 1,1 , 1,1 , 1

h 2 ¯ = 0,0.5,1.0,2.5,3.0

f ¯ = 0,0.47,0.99,2.5,3

Passo 2

Agora montamos a matriz A :

A = h 1 ¯ , h 1 ¯ h 1 ¯ , h 2 ¯ h 2 ¯ , h 1 ¯ h 2 ¯ , h 2 ¯ = 5 7 7 16.5

E o vetor b :

b = f ¯ , h 1 ¯ f ¯ , h 2 ¯ = 6.96 16.475

Resolvendo o sistema:

5 7 7 16.5 a 1 a 2 = 6.96 16.475

a 1 = - 0.014

a 2 = 1.005

Voltando as variáveis:

a 1 = ln ⁡ c 1 ⇒ c 1 = 0.9861

a 2 = c 2 = 1.005

Logo:

φ x = 1 + 0.9861 e 1.005 x

Passo 3

Agora para encontrarmos o erro, também conhecido como o resíduo, basta calcularmos:

∑ k = 1 m f x k - φ x k 2 = 0.01357

Resposta

φ x = 1 + 0.9861 e 1.005 x

Erro: 0.01357

Exercício Resolvido #5

Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 290, exercício 11

Considere a tabela

Por qual das funções x t = t a t + b ou y t = a b t você aproximaria a função u t ? Justifique sua resposta.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Lembra do teste que eu comentei pra ver se escolhemos a família certa de funções? O teste do alinhamento! Primeiro vamos linearizar ambas as funções:

x t = t a t + b

z 1 t = 1 u t ≈ 1 x t = a t + b t = a + b t

s = 1 t ⇒ z 1 t = a + b s

Isso nos dá a tabela abaixo:

Repare que usando essa função como aproximação esbarramos com um problema! Nossa linearização não está definida em t = 0 . Como se não bastasse isso, se jogarmos os pontos em um diagrama de dispersão vamos ficar com isso aqui:

Nada a ver com uma reta essa porcaria né?

Passo 2

A outra aproximação fica:

y t = a b t

z 2 t = ln ⁡ u t ≈ ln ⁡ y t = ln ⁡ a ⏟ c 1 + t ln ⁡ b ⏟ c 2 = c 1 + c 2 t