Baixe o app para aproveitar ainda mais
Prévia do material em texto
Métodos Numéricos em Engenharia Metalúrgica e de Materiais Aula 4 COT752 – 2017/1 Prof. Rodrigo Carvalho rodrigo@metalmat.ufrj.br Sala F-208 ou 2º Piso LTM mar-18 EET270 - 2015/2 - Prof. Rodrigo Carvalho 1 Ajuste dados a uma curva por minímos quadrados • Ajustando uma linha aos dados • Interpretação geométrica • Resíduos • Equações normais • Ajuste não-linear através de transformações de coordenadas • Ajustando combinações lineares arbitrárias de funções base • Formulação matemática • Solução via equações normais • Solução via fatoração QR • Ajuste a polinômios • Ajuste multivariável mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 2 Ajuste de dados a uma reta • Dados 𝑚 pares de dados • 𝑥𝑖 , 𝑦𝑖 , 𝑖 = 1,… ,𝑚 • Encontre os coeficientes 𝛼 e 𝛽 tais que, • 𝐹 𝑥 = 𝛼𝑥 + 𝛽 é um bom ajuste dos dados. Perguntas: • Como definidos um bom ajuste? • Como computamos 𝛼 e 𝛽 depois de definirmos um “bom ajuste”? mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 3 Ajustes possíveis • Ajustes possíveis são obtidos ao se ajustar o coeficiente angular e o intercepto. Aqui está uma representação gráfica dos ajustes potenciais para um certo conjunto de dados. • Qual das linhas proporcionam o melhor ajuste? mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 4 Resíduo • A diferença entre um dado valor de 𝑦𝑖 e a função de ajuste avaliada em 𝑥𝑖 é, 𝑟𝑖 = 𝑦𝑖 − 𝐹 𝑥𝑖 𝑟𝑖 = 𝑦𝑖 − 𝛼𝑥𝑖 + 𝛽 𝑟𝑖 é o resíduo para o par de dados 𝑥𝑖 , 𝑦𝑖 𝑟𝑖 é a distância vertical entre os dados conhecidos e a função de ajuste mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 5 Minimizando os Resíduos • Dois critérios para escolha do melhor ajuste: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 σ 𝑟𝑖 ou 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 σ 𝑟𝑖 2 • Por razões estatísticas e computacionais, escolha a minimização de 𝜌 = σ𝑟𝑖 2 • O melhor ajuste é obtido pelos valores de 𝛼 e 𝛽 que minimizam 𝜌 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 6 Ajuste por mínimos quadrados • O ajuste por mínimos quadrados é obtido escolhendo 𝛼 e 𝛽 tais que, 𝑖=1 𝑚 𝑟𝑖 2 é um mínimo. Faça, 𝜌 = 𝑟 2 2 para simplificar a notação. Encontrar 𝛼 e 𝛽 por minimização de 𝜌 = 𝜌 𝛼, 𝛽 . O mínimo requer, ቤ 𝜕𝜌 𝜕𝛼 𝛽=constante = 0 e ቤ 𝜕𝜌 𝜕𝛽 𝛼=constante = 0 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 7 Ajuste por mínimos quadrados • Procedendo com a diferenciação, 𝑆𝑥𝑥𝛼 + 𝑆𝑥𝛽 = 𝑆𝑥𝑦 𝑆𝑥𝛼 +𝑚𝛽 = 𝑆𝑦 Onde, 𝑆𝑥𝑥 = σ𝑖=1 𝑚 𝑥𝑖𝑥𝑖 𝑆𝑥 = σ𝑖=1 𝑚 𝑥𝑖 𝑆𝑥𝑦 = σ𝑖=1 𝑚 𝑥𝑖𝑦𝑖 𝑆𝑦 = σ𝑖=1 𝑚 𝑦𝑖 Note que: 𝑆𝑥𝑥, 𝑆𝑥, 𝑆𝑥𝑦 e 𝑆𝑦𝑦 podem ser computador diretamente dado o conjunto de dados 𝑥𝑖 , 𝑦𝑖 . Assim, mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 8 Ajuste por mínimos quadrados • Resolvendo para, 𝛼 e 𝛽 • Com mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 9 • Determinando um sistema para um ajuste linear • Vamos derivar a equação do ajuste. Isto fornece do processo ou ajusta combinações de funções lineares arbitrárias • Para quaisquer dois pontos podemos escrever • Ou mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 10 • Estendendo para dois ou mais pontos, podemos escrever 𝛼𝑥 + 𝛽 = 𝑦 para todos os pontos conhecidos (𝑥𝑖 , 𝑦𝑖), 𝑖 = 1,… ,𝑚 fornece o Sistema indeterminado mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 11 Onde: ou • Nota: não podemos resolver Ac=y com eliminação Gaussiana. A menos que o sistema seja consistente, ou seja, o y pertence a alguma coluna de A, é impossível encontrar c=(α,β)T satisfaz exatamente todas as equações m. O sistema é consistente somente se todos os pontos de dados estejam ao longo da reta. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 12 Equações normais para um ajuste linear • Computar , onde r=y-Ac • Minimizar p, requer • Ou mar-18 EET270 - 2015/2 - Prof. Rodrigo Carvalho 13 𝐴𝑇𝐴 𝑐 = 𝐴𝑇𝑦 • Veja, • É a solução matricial das equações mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 14 𝐴𝑇𝐴 𝑐 = 𝐴𝑇𝑦 • Escrevendo uma função de ajuste mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 15 • Exemplo: • Conjunto de dados • Avaliar e plotar o ajuste mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 16 O 𝑅2 estatístico • O 𝑅2 é a medida do quão bem a função de ajuste segue a tendência nos dados. • ො𝑦 é o valor da função de ajuste nos pontos conhecidos • ത𝑦 é a média dos valores de y • Para um ajuste linear: • Então: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 17 • Se 𝑅2 é próximo de 1, a função segue a tendência dos dados • Se 𝑅2 é próximo de 0, o ajuste não é significativamente melhor que uma aproximação dos dados pela média mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 18 Interpretação gráfica do 𝑅2 • Considere um ajuste linear para o conjunto de dados com • Distâncias verticais entre um Dado y e o ajuste por mínimos quadrados. As linhas verticais mostram as contribuições ao 𝑟 2 • Distâncias verticais entre os dados y e a média de y. Linhas verticais mostram a contribuição à mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 19 Exemplo • Considere a variação do módulo de Young do carbeto de silício como função da temperatura • Usando a função linefit [c,R2]=linefit(t,g) mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 20 Ajuste de funções não-lineares transformadas • Algumas funções de ajuste não lineares 𝑦 = 𝐹 𝑥 podem ser transformadas em uma equação da forma 𝑣 = 𝛼𝑢 + 𝛽 • O ajuste de mínimos quadrados pode ser realizado com as variáveis transformadas • O parâmetros da função de ajuste não linear são obtidos pela transformação de volta às variáveis originais • O ajuste linear de mínimos quadrados das equações transformadas não resultam nos mesmos coeficientes de ajustes da solução direta do ajuste de mínimos quadrados envolvendo a função de ajuste original. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 21 • Alguns exemplos 𝑦 = 𝑐1𝑒 𝑐2𝑥 → ln 𝑦 = 𝛼𝑥 + 𝛽 𝑦 = 𝑐1𝑥 𝑐2 → ln 𝑦 = 𝛼 ln 𝑥 + 𝛽 𝑦 = 𝑐1𝑥𝑒 𝑐2𝑥 → ln 𝑦 𝑥 = 𝛼𝑥 + 𝛽 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 22 • Para o caso: 𝑦 = 𝑐1𝑒 𝑐2𝑥 • Faz-se ln𝑦 = ln𝑐1 + 𝑐2𝑥 • Introduzindo as variáveis 𝑣 = ln 𝑦 𝑏 = ln 𝑐1 𝑎 = 𝑐2 Transforma a equação em, 𝑣 = 𝑎𝑥 + 𝑏 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 23 • Exemplos: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 24 • Exemplo no Matlab • Ajustar: 𝑦 = 𝑐1𝑥𝑒 𝑐2𝑥 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 25 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 26 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 27 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 28 • Sumário: • Transformar (x,y) quando necessário • Realizar o ajuste linear • Transformar de volta os resultados do ajuste linear mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 29 • Sumário do ajuste linear: 1) m pares de dados são dados (xi,yi), i=1,...,m 2) A função de ajuste y=F(x)=c1x+c2 possui n=2 funções base f1(x)=x e f2(x)=1 3) Avaliando a função de ajuste para cada um dos m pontos de dados fornece um sistema indeterminado de equações Ac=y, onde c=[c1,c2]T e y=[y1,y2,...,ym]T e mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 30 • 4) os princípios dos mínimos quadrados definem o melhor ajuste como os valores de c1 e c2 que minimizam • 5) A minimização de 𝜌(𝑐1, 𝑐2) leva às equações normais, • 6) A solução das equações normais fornece o coeficiente angular c1 e o intercepto c2 da melhor reta de ajuste mar-18 EET270 - 2014/2 - Prof. RodrigoCarvalho 31 Ajuste linear de combinação de funções • Definição da função de ajuste e funções base • Formulação do sistema indeterminado • Solução via equações normais • Soluçaõ via fatorização QR mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 32 • Considere a função de ajuste; • 𝐹 𝑥 = 𝑐1𝑓1 𝑥 + 𝑐2𝑓2 𝑥 +⋯+ 𝑐𝑛𝑓𝑘(𝑥) ou 𝐹 𝑥 = 𝑗=1 𝑛 𝑐𝑗𝑓𝑗(𝑥) As funções base: 𝑓1 𝑥 , 𝑓2 𝑥 ,… , 𝑓𝑛 𝑥 são escolhidas por você, ou seja, a pessoa responsável pelo ajuste! Os coeficientes 𝑐1, 𝑐2, … , 𝑐𝑛 são determinados pelo método dos mínimos quadrados. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 33 • A função 𝐹(𝑥) pode ser qualquer combinação de funções que são lineares em 𝑐𝑗. Adicionalmente, • 1, 𝑥, 𝑥2, 𝑥 2 3, sen 𝑥, 𝑒𝑥 , 𝑥𝑒𝑥 , cos(ln 25𝑥) São todas funções base válidas. Por outro lado, sen 𝑐1𝑥 , 𝑒 𝑐3𝑥 , 𝑥𝑐2 Não são funções base válidas enquanto 𝑐𝑗 forem parâmetros do ajuste. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 34 • Por exemplo, a função de ajuste para um polinômio cúbico é, 𝐹 𝑥 = 𝑐1𝑥 3 + 𝑐2𝑥 2 + 𝑐3𝑥 + 𝑐4 Que possui como funções base, 𝑥3, 𝑥2, 𝑥, 1 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 35 Ajuste linear de combinações de funções • O objetivo é encontrar os 𝑐𝑗 de tal forma que 𝐹 𝑥𝑖 ~𝑦𝑖 • Como, 𝐹 𝑥𝑖 ≠ 𝑦𝑖 o resído em cada ponto de dados é, 𝑟𝑖 = 𝑦𝑖 − 𝐹 𝑥𝑖 = 𝑦𝑖 − 𝑗=1 𝑛 𝑐𝑗𝑓𝑗(𝑥𝑖) A solução por mínimos quadrados fornece os cj que minimizam 𝑟 2 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 36 • Considere a função de ajuste com as três funções base • 𝑦 = 𝐹 𝑥 = 𝑐1𝑓1 𝑥 + 𝑐2𝑓2 𝑥 + 𝑐3𝑓3 𝑥 • Assuma que 𝐹 𝑥 atue como um interpolante, então: • 𝑐1𝑓1 𝑥1 + 𝑐2𝑓2 𝑥1 + 𝑐3𝑓3 𝑥1 = 𝑦1 • 𝑐1𝑓1 𝑥2 + 𝑐2𝑓2 𝑥2 + 𝑐3𝑓3 𝑥2 = 𝑦2 • ... • 𝑐1𝑓1 𝑥𝑚 + 𝑐2𝑓2 𝑥𝑚 + 𝑐3𝑓3 𝑥𝑚 = 𝑦𝑚 são satisfeitas. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 37 • Para o ajuste de mínimo quadrados, as equações não são todas satisfeitas, ou seja, a função de ajuste 𝐹(𝑥) não passa por todos os pontos 𝑦𝑖 • Interpolação x Ajuste mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 38 • As equações anteriores são equivalentes ao sistema indeterminado, 𝐴𝑐 = 𝑦 Onde, mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 39 𝐴 = 𝑓1(𝑥1) 𝑓2(𝑥1) 𝑓3(𝑥1) 𝑓1(𝑥2) 𝑓2(𝑥2) 𝑓3(𝑥2)… 𝑓1 𝑥𝑚 … 𝑓2 𝑥𝑚 … 𝑓3 𝑥𝑚 𝑐 = 𝑐1 𝑐2 𝑐3 y = 𝑦1 𝑦2 𝑦3 • Se F(x) não pode interpolar os dados, então a matriz precedente não pode ser resolvida exatamente: b não é uma coluna de A • O método dos mínimos quadrados permite uma solução que minimiza: 𝑟 2 = 𝑦 − 𝐴𝑐 2 • O 𝑐 que minimiza 𝑟 2 satisfaz as equações normais, 𝐴𝑇𝐴 𝑐 = 𝐴𝑇𝑦 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 40 • Em geral, para n funções base mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 41 𝐴 = 𝑓1(𝑥1) 𝑓2(𝑥1) 𝑓3(𝑥1) 𝑓1(𝑥2) 𝑓2(𝑥2) 𝑓3(𝑥2)… 𝑓1 𝑥𝑚 … 𝑓2 𝑥𝑚 … 𝑓3 𝑥𝑚 𝑐 = 𝑐1 𝑐2 𝑐3 y = 𝑦1 𝑦2 𝑦3 • Exemplo: Ajustar uma parábola a seis pontos • Considere os dados: Sem saber maiores detalhes sobre os dados, podemos iniciar com um ajuste polinomial. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 42 • A equação polinomial de segunda ordem pode ser escrita, 𝑦 = 𝑐1𝑥 2 + 𝑐2𝑥 + 𝑐3 Onde 𝑐𝑖 são os coeficientes a serem determinados pelo ajuste e as funções base são, 𝑓1 𝑥 = 𝑥 2, 𝑓2 𝑥 = 𝑥, 𝑓3 𝑥 = 1 A matriz A é, 𝐴 = 𝑥1 2 𝑥1 1 𝑥2 2 𝑥2 1… 𝑥𝑚 2 … 𝑥𝑚 … 1 Onde, para estes dados, 𝑚 = 6 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 43 • Definindo os dados • A matriz de coeficientes desse sistema é, • A matriz de coeficientes das equações normais é, mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 44 • O vetor do lado direito das equações normais é, • Resolva as equações normais c=(A'*A)\(A'*y) mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 45 • Avaliando e plotando o ajuste mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 46 • Ajuste alternativo para os mesmos pontos • 𝐹 𝑥 = 𝑐1 𝑥 + 𝑐2𝑥 • As funções base são, • 1 𝑥 , 𝑥 • No Matlab: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 47 Avaliando a função de ajuste como um produto matriz-vetor • Temos escrito a função de ajuste como, 𝐹 𝑥 = 𝑐1𝑓1 𝑥 + 𝑐2𝑓2 𝑥 +⋯+ 𝑐𝑛𝑓𝑘(𝑥) A matriz de coeficientes indeterminados contem as funções base avaliadas em dados conhecidos • Assim, se A está disponível: 𝐹 𝑥 = 𝐴𝑐 avalia 𝐹 𝑥 em todos os valores de 𝑥, 𝐹 𝑥 é um função vetorizada mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 48 𝐴 = 𝑓1(𝑥1) 𝑓2(𝑥1) … 𝑓𝑛(𝑥1) 𝑓1(𝑥2) 𝑓2(𝑥2) … 𝑓𝑛(𝑥2)… 𝑓1 𝑥𝑚 … 𝑓2 𝑥𝑚 … … 𝑓𝑛 𝑥𝑚 • A avaliação da função de ajuste como um produto matriz-vetor pode ser realizada para qualquer 𝑥. Suponha então que criamos um arquivo .m de uma função que avalia 𝐴 para qualquer 𝑥, por exemplo • Então para plotar a função de ajuste após os coeficientes mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 49 • Vantagens: • As funções base são definidas em um único lugar: na rotina de avaliação do sistema indeterminado • A automação do ajuste e plotagem é facilitada porque tudo que é necessário é apenas uma rotina para avaliar as funções base • O usuário final do ajuste pode ainda avaliar a função de ajuste como • Desvantagens • Armazenamento da matriz A para x grande, consome memória. Isto não é problema para n pequeno. • Avaliação da função de ajuste pode não ser óbvia a um leitor não familiarizado com álgebra linear. mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 50 Implementação no fitnorm • Faça A ser a matriz m x n definida por 𝐴 = ⋮ ⋮ ⋮ 𝑓1(𝑥) 𝑓2(𝑥) 𝑓𝑛(𝑥) ⋮ ⋮ ⋮ As colunas de A são as funções base avaliadas a cada um dos pontos de dados x. Como previamente, as equações normais são: 𝐴𝑇𝐴𝑐 = 𝐴𝑇𝑦 Assim, o usuário fornece somente um arquivo .m que retorna A mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 51 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 52 Exemplos de funções do usuário • Para o caso de uma parábola 𝑓1 𝑥 = 𝑥 2, 𝑓2 𝑥 = 𝑥, 𝑓3 𝑥 = 1 Criar o arquivo . function A=poli2base(x) A=[x(:).^2 x(:) ones(size(x(:)))]; No prompt de comando: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 53 Ou utilize um objeto função in-line mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 54 • Outro exemplo: 𝐹 𝑥 = 𝑐1 𝑥 + 𝑐2𝑥 cujas funções são 1 𝑥 , 𝑥 • Criar arquivo .m • No prompt de comando: • mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 55 • Ou, como função in-line mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 56 R2 • O 𝑅2 pode ser aplicado a combinações lineares de funções base • Lembrando: • No qual ො𝑦 é o valor da função de ajuste nos pontos conhecidos 𝑥𝑖 • ത𝑦 é a média dos valores de y • Para uma combinação linear de funções base • ෝ𝑦𝑖 = σ𝑗=1 𝑛 𝑐𝑗𝑓𝑗(𝑥𝑖) mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 57 • Para contabilizar a redução de graus de liberdade nos dados quando o ajuste é realizado é tecnicamente apropriado considerar um coeficiente ajustado de determinação: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 58 Ajustes polinomiais com o polyfit • Funções internas do Matlab polyfit – obtém os coeficientes de um ajuste polinomial por mínimos quadrados para um conjunto de dados polyval – avalia um polinômio em um dado conjunto de valor de x mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 59 Ajustes polinomiais com o polyfit • Sintaxe: x e y definem os dadosn é o grau de liberdade de um polinômio c é um vetor de coeficientes polinomiais armazenados em ordem decrescente de potências de x mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 60 • Avaliação de polinômios com polyval Sintaxe: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 61 • Exemplo: • No Matlab mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 62 mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 63 • Condutividade do Cobre próximo a 0 K mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 64 • Modelo teórico da condutividade • Para o ajuste linear, devemos escrever como: • Que tem funções base: mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 65 • O arquivo .m para essas funções base são: function y=condcobre(x) y=[1./x x.^2]; Use o fitnorm para ajustar a condutividade mar-18 EET270 - 2014/2 - Prof. Rodrigo Carvalho 66
Compartilhar