6 Ajuste de mínimos quadrados polinomial No capítulo anterior estudamos como encontrar um polinômio de grau m que interpola um conjunto de n pontos {{x i, f i }} n Tipicamente quando m < n esse polinômio não existe No entanto, ainda assim podemos encontrar uma aproximação p(x) para a função desconhecida que define os n pontos Se p(x) fosse uma interpolação, seria necessário que p(x i ) = f i A técnica de ajuste de funções substitui essa exigência pela minimização de uma função Q({r i }) definida a partir dos resíduos r i = p(xi ) f i A escolha mais comum para Q é a soma quadrática dos resíduos, ou seja Q({r i }) = ri 2 (6) Existem outras escolhas possíveis para Q, por exemplo, Q = max i r i ou Q = i r i, a importância de (6) deve-se ao teorema de Gauss-Markov para modelos lineares em estatística Inicialmente vamos tratar o caso em que a função ajuste é um polinômio de grau m Como veremos a seguir, a condição de que (6) seja mínimo fornecerá as equações para determinarmos os coeficientes do polinômio O procedimento de determinar os coeficientes que minimizam (6) é denominado ajuste de mínimos quadrados Seja então p(x) um polinômio p(x) = a 0 + a x + + a m x m então, a partir do conjunto de dados {{x i, f i }} n, a função Q pode ser escrita em termos dos coeficientes a j como Q(a,, a m ) = f i m a j x j i j=0 2 (62) Se lembrarmos que os valores x i e f i são números conhecidos, a dependência de Q nos coeficientes a j é quadrática, ou seja, Q é um parabolóide em termos dos a j Além disso, como podemos verificar na expressão (62), Q 0 Isto garante que a função Q sempre possui um único mínimo global O ponto (a, a 2,, a m) em que Q for mínimo determina o ajuste No ponto em que Q é mínimo É claro que existem casos em que a interpolação é possível, por exemplo, poderíamos ter um conjunto de três pontos alinhados (n = 3) Nesse caso, há a interpolação dos mesmos por uma reta (m = 2), mas se fossem três pontos distintos não alinhados, a interpolação por uma reta não mais seria possível 07
para k = 0,,, m Isto implica as equações 2 Q a k (a,, a m) = 0 f i m a jx j i x k i = 0, (63) j=0 ( m ) para cada k = 0,,, m, pois j=0 a a jx j i k A equação (63) pode ser reescrita como x k i = a k ( a0 + a x i + + a k x k i + + a mx m i ) = m j=0 ( m j=0 a jx j+k i = x j+k i ) a j = f i x k i f i x k i (64) para cada k = 0,,, m Ou seja, um sistema de m + equações lineares cujas incógnitas são os m + coeficientes a i do polinômio p(x) O sistema de equações (64) pode ser convenientemente descrito em notação matricial como X T Xa = X T f, (65) onde X = x x 2 x m x 2 x 2 2 x m 2, (66) X T é sua transposta, a = a 0 a a m x n x 2 n x m n f e f = As equações dadas pelo sistema (65) são f n denominadas equações normais Essa nomenclatura deve-se ao seguinte fato: o sistema (65) pode ser escrito como X T (Xa f) = 0 o vetor entre parênteses, Xa f é o vetor cujas componentes são dadas pelos resíduos da aproximação e, segundo a equação anterior esse vetor é normal (ortogonal) aos vetores formados pelos elementos das linhas da matriz X T que são da forma x l x l 2 x l n para l = 0,, 2,, m Exemplo: Seja o conjunto de pontos {{x i, f i }} 5 : {{ 2, 0}, {, }, {0, 2}, {, }, {2, 0}} 08
polinomial vamos determinar o ajuste de mínimos quadrados para um polinômio de segundo grau p(x) = a 0 + a x + a 2 x 2 Os coeficientes do polinômio são a solução do seguinte sistema na representação matricial X T Xa = X T f, onde a matriz X é dada por X = x x 2 x 2 x 2 2 x 3 x 2 3 x 4 x 2 4 x 5 x 2 5 = 2 4 0 0 2 4, portanto O vetor de constantes f = f f 2 f 3 f 4 X T X = 5 0 0 0 0 0 0 0 34 e o vetor de incógnitas a = a o a a 2 compõe o sistema que possui matriz completa f 5 5 0 0 0 0 0 0 0 34 4 0 2 e solução a = 58/35 0 3/7 Assim, o polinômio que ajusta os dados é p(x) = 58 35 3 7 x2 09
2 f x 2 2 x Figura 6: Ajuste de mínimos quadrados ajuste polinomial Caso particular: regressão linear Quando o ajuste de mínimos quadrados é realizado para um polinômio de º grau as expressões são mais simples, em particular, é possível determinar o valor dos coeficientes a 0 e a exclusivamente em termos de médias Para um conjunto de n pontos {{x i, f i }} n, a soma quadrática dos desvios, Q, é dada por Q = (f i a 0 a x) 2 Da mesma forma que no caso mais geral, condições necessárias para que Q seja mínimo são dadas pelas derivadas de Q com relação a a 0 e a que devem se anular: e A partir da equação (67) temos Q a 0 = 2 Q a = 2 (f i a 0 a x i )( ) = 0 (67) (f i a 0 a x i )( x i ) = 0 (68) na 0 + a x i = f i a 0 + a n x i = n f i Da mesma forma, a equação (68) implica a 0 x i + a x 2 i = f i x i a 0 n x i + a n x 2 i = n f i x i Através da notação x = n n x i, x 2 = n n x2 i, f = n n f i e fx = n n f ix i 0
62 Ajuste de mínimos quadrados por uma combinação linear de funções podemos reescrever as equações (67) e (68) como o sistema { a 0 + x a = f x a 0 + x 2 a = fx cuja solução determina os coeficientes a 0 e a : a 0 = f x2 x fx x 2 (x) 2, a = fx f x x 2 (x) 2 62 Ajuste de mínimos quadrados por uma combinação linear de funções A maneira através da qual determinamos o ajuste de mínimos quadrados por um polinômio pode ser imediatamente generalizada para o caso da combinação linear de um conjunto de funções conhecidas {ϕ i (x)} i Podemos verificar prontamente que o polinômio p(x) = a 0 + a x + + a m x m é um caso particular da combinação linear de m distintas funções ϕ j (x) no caso em que ϕ j (x) = x j ϕ(x) = m a j ϕ j (x), j= A soma quadrática dos resíduos Q(f, ϕ) é dada por Q(f, ϕ) = (f i ϕ(x i )) 2 = f i m a j ϕ j (x i ) De maneira totalmente análoga ao caso do ajuste para polinômios, o conjunto de coeficientes que minimizam Q(f, ϕ) é determinado pela solução do sistema de equações lineares Q a 0 = 0 Q a = 0 Q a m = 0 que é equivalente ao sistema de equações normais j= Φ T Φa = Φ T f, (69) 2
onde a = a a 2 e f = Φ = f f 2 ϕ (x ) ϕ 2 (x ) ϕ m (x ) ϕ (x 2 ) ϕ 2 (x 2 ) ϕ m (x 2 ) ϕ (x n ) ϕ 2 (x n ) ϕ m (x n ), n m a m f n Exemplo: Seja o mesmo conjunto de pontos utilizados no exemplo de ajuste polinomial {{x i, f i }} 5 : {{ 2, 0}, {, }, {0, 2}, {, }, {2, 0}} vamos determinar o ajuste de mínimos quadrados para a seguinte combinação linear, ϕ(x) = a +a 2 e x +a 3 e x, onde ϕ (x) =, ϕ 2 (x) = e x e ϕ 3 (x) = e x Os coeficientes do ajuste são solução do seguinte sistema na representação matricial Φ T Φa = Φ T f, onde a matriz Φ é dada por Φ = ϕ (x ) ϕ 2 (x ) ϕ 3 (x ) ϕ (x 2 ) ϕ 2 (x 2 ) ϕ 3 (x 2 ) ϕ (x 3 ) ϕ 2 (x 3 ) ϕ 3 (x 3 ) ϕ (x 4 ) ϕ 2 (x 4 ) ϕ 3 (x 4 ) ϕ (x 5 ) ϕ 2 (x 5 ) ϕ 3 (x 5 ) = e 2 e 2 e e e e e 2 e 2, portanto Φ T Φ = O vetor de constantes Φ T f = 5, 00000, 606, 606, 606 63, 409 5, 00000, 606 5, 0000 63, 409 4, 00000 5, 0866 5, 0866 sistema que possui matriz completa 5, 00000, 606, 606, 606 63, 409 5, 00000, 606 5, 00000 63, 409 e o vetor de incógnitas a = 4, 00000 5, 0866 5, 0866 a a 2 a 3 compõe o e solução a = 2, 7256 0, 295542 0, 295542 Assim, o ajuste toma a forma ϕ(x) = 2, 7256 0, 295542 (e x + e x ) = 2, 7256 0, 59084 cosh(x) 2
63 Ajuste de mínimos quadrados por uma combinação linear de funções ortogonais φ x 2 2 2 x Figura 62: Ajuste de mínimos quadrados combinação linear Problemas de condicionamento no método de ajuste de funções pelo método dos mínimos quadrados De modo geral, ao aplicarmos o método de ajuste de mínimos quadrados com um polinômio de grau maior ou igual a 8, a tarefa de resolver o sistema de equações normais (65) é muito dificultada por erros de arredondamento A dificuldade está relacionada ao fato de que as matrizes da forma X T X presentes no sistema (65) são mal condicionadas Essa propriedade independe dos valores f i no conjunto de n pontos {{x i, f i }} n para ajuste Note que a matriz (m + ) (m + ) XT X depende apenas dos valores x i e do grau m do polinômio ajustado Como exemplo, no caso em que os n valores x i são igualmente espaçados entre 0 e é possível demonstrar 2 que X T X é aproximadamente igual a matriz nh, onde H é a matriz de Hilbert 3 de ordem m +, uma matriz mal condicionada Uma maneira de contornar as dificuldades introduzidas pelo condicionamento da matriz X T X e, ainda assim, realizar o ajuste de mínimos quadrados para um polinômio de ordem grande, consiste em utilizar um conjunto de polinômios ϕ i (x) construído de maneira que a matriz Φ T Φ presente no sistema de equações normais (69) não possua problemas de condicionamento Como veremos adiante, esse objetivo é alcançado se o conjunto de funções {ϕ i (x)} i for um conjunto de funções ortogonais 63 Ajuste de mínimos quadrados por uma combinação linear de funções ortogonais Definição (produto interno discreto) Seja o conjunto finito de pontos X = {x i } n e duas funções f e g definidas sobre X O produto interno discreto entre f e g, simbolizado pela expressão (f, g) X 2 Veja a demonstração na referência: Yakowitz, S; Szidarovszky, F An Introduction to Numerical Computation Macmillan Pub Company (986) 3 A matriz de Hilbert H possui coeficientes a ij = O condicionamento dessa matriz cresce exponencialmente i + j com a ordem 3
é definido como (f, g) X = f(x i )g(x i ) Definição (funções ortogonais) Dadas duas funções f e g, definidas em conjunto discreto finito X, dizemos que as mesmas são ortogonais se (f, g) X = 0 Em particular, um conjunto de funções {ϕ i (x)} m definidas nos pontos do conjunto X é um sistema ortogonal se e somente se, para quaisquer i, j m, (ϕ i, ϕ j ) X = 0, se i j, (ϕ i, ϕ j ) X 0, se i = j Se o ajuste de mínimos quadrados dos dados {{x i, f i }} n é realizado para uma combinação linear m a i ϕ i (x), (60) onde as funções ϕ i (x) são elementos de um sistema ortogonal, então a matriz Φ T Φ é uma matriz diagonal o que torna o problema de resolver o sistema (69) uma tarefa simples Seja s ij um coeficiente da matriz S = Φ T Φ onde {ϕ i (x)} m é um sistema ortogonal A partir da definição da matriz Φ, temos que s ij = ϕ i (x k )ϕ j (x k ) k= = (ϕ i, ϕ j ) X, como as funções ϕ i fazem parte de um sistema ortogonal, então s ij = { 0, se i j (ϕ i, ϕ i ) X, se i = j, ou seja, S = Φ T Φ é uma matriz diagonal Nesse caso, a solução do sistema de equações normais pode ser obtida a um baixo custo computacional e com erros de arredondamento controláveis através da inversão de S: a = ( Φ T Φ ) Φ T f como ( Φ T Φ ) = (ϕ,ϕ ) X 0 0 0 (ϕ 2,ϕ 2, ) X 0 0 0 (ϕ m,ϕ m) X, 4
64 Ajustes não lineares redutíveis ao caso linear temos então que os coeficientes do ajuste 4 (60) são dados por a j = (f, ϕ j) X (ϕ j, ϕ j ) X Portanto, já que x i e f i (ou f(x i )) são dados de entrada para o ajuste, a determinação dos coeficientes a i depende apenas da tarefa de encontrar um conjunto de funções ϕ i que seja um sistema ortogonal Se ϕ i forem um polinômios de grau i, então é possível 5 construir um sistema ortogonal A construção é realizada a partir da relação de recorrência que os polinômios ϕ i devem satisfazer: onde ϕ i (x) = (x b i )ϕ i (x) c i ϕ i 2 (x), b i = (xϕ i (x), ϕ i (x)) X (ϕ i (x), ϕ i (x)) X, i =, 2, c i = (xϕ i (x), ϕ i 2 (x)) X (ϕ i 2 (x), ϕ i 2 (x)) X, i = 2, 3, e c = 0 Assim, construímos recursivamente os polinômios a partir da escolha ϕ 0 (x) e ϕ (x) 0 64 Ajustes não lineares redutíveis ao caso linear Quando o ajuste de mínimos quadrados é realizado para função que não pode ser escrita como uma combinação linear de funções conhecidas, por exemplo, φ(x) = a x + cos(a 2 x) + e a3x, o método de mínimos quadrados envolve a solução de um conjunto de equações não lineares Não vamos estudar este tópico aqui, porém existem casos de ajuste de mínimos quadrados não linear que, mediante uma transformação, podem ser escritos como um problema de ajuste linear Devido à sua importância vamos estudar o método de ajuste para as funções: φ(x) = a e a2x, (6) θ(x) = a x a 2 (62) e ψ(x) = a x a 2 e a 3x (63) Qualquer um desses casos pode ser reescrito como um problema de ajuste por combinação linear de funções conhecidas por meio de uma transformação (não linear) 4 Lembre que os dados para ajuste são {{x i, f i}} n, onde o conjunto X = {x i} n é utilizado para definir o produto interno (, ) X Como temos estudado até aqui, f i f(x i) se f for conhecida, caso contrário f i é um dado de entrada no problema de ajuste 5 Veja os detalhes em: Ralston, A; Rabinowitz, P A First Course in Numerical Analysis McGraw-Hill(978) 5
A transformação consiste em tomar o logarítmo das funções e o logarítmo da segunda coordenada dos pontos de ajuste Então o problema original de determinar o ajuste de mínimos quadrados não linear para o conjunto de valores {{x i, f i }} n passa a ser o preoblema de determinar o ajuste de mínimos quadrados por uma combinação de funções lineares No primeiro caso, temos ln(φ) = ln a + a x e a combinação linear é formada pelas funções ϕ (x) = e ϕ 2 (x) = x No segundo caso, ln(θ) = ln a + a 2 ln x e a combinação linear é formada pelas funções ϕ (x) = e ϕ 2 (x) = ln x No terceiro caso, ln(ψ) = ln a + a 2 ln x + a 3 x e a combinação linear é formada pelas funções ϕ (x) =, ϕ 2 (x) = ln x e ϕ 3 (x) = x Exemplo: Vamos realizar o ajuste dos pontos {{0, ; 0, 0}, {0, 2; 0, 063}, {0, 5; 0, 59}, {0, 7;, 5}, {, 0; 3, 6}} à função θ(x) = a x a 2 Vamos tomar o logarítmo das duas coordenadas dos pontos, o resultado é o novo conjunto de pontos {{x i, ln θ i }} = {{x i, f i }}: {{0, ; 4, 6057}, {0, 2; 2, 76462}, {0, 5; 0, 527633}, {0, 7; 0, 405465}, {, 0;, 28093}} Como ln θ = ln a + a 2 x = ã + a 2 x, ou seja, ϕ (x) = e ϕ 2 (x) = ln x Devemos resolver o sistema Φ T Φa = Φ T f, onde, de acordo com a notação de produto interno, e Φ T Φ = ( A solução é dada por (ϕ, ϕ ) (ϕ, ϕ 2 ) (ϕ 2, ϕ ) (ϕ 2, ϕ 2 ) Φ T f = ( (f, ϕ ) (f, ϕ 2 ) a = ) ( 5 = ) 5 ln x i 5 ln x 5 i (ln x i) 2, ) ( = ã a 2 ( 5 ) f i 5 f i ln x i ) ã =, 2869 e a 2 = 2, 54784 6
64 Ajustes não lineares redutíveis ao caso linear Como a = eã, obtemos o ajuste θ(x) = 3, 6897 x 2,54784 Θ x 4 3 2 0 02 05 07 0 x Figura 63: Ajuste de mínimos quadrados ajuste não linear 7
65 Exercícios ) Encontre as aproximações de mínimo quadrado linear e quadrática para os seguintes pontos: {{x i, f i }} i = {{ 2, 6}, {, 4}, {0, 3}, {, 3}} 2) Realize o ajuste de mínimos quadrados a ϕ (x) + a 2 ϕ 2 (x) com respeito aos coeficientes a e a 2 para as funções ϕ (x), ϕ 2 (x) e o conjunto de dados {{x i, f i }} i abaixo: ϕ (x) =, ϕ 2 (x) = x Dados {{0, }, {, 2}, {2, 4}} 2 ϕ (x) = sen(x), ϕ 2 (x) = cos(x) Dados {{0, 0}, {π/4, }, {π/2, 0}} 3 ϕ (x) =, ϕ 2 (x) = e x Dados {{0, }, {, 2}, {2, 2}} 4 ϕ (x) = e x, ϕ 2 (x) = e x Dados {{0, 0}, {, }, {2, }, {3, 0}} 3) A partir da transformação pela ação do logarítmo, determine a forma linear para o ajuste não linear da função φ(x) = a x a 2 e a 3x ao conjunto de pontos {{, 000;, 854}, {, 600; 0, 945}, {2, 200; 0, 7528}, {2, 800; 0, 7890}, {3, 400; 0, 9230}, {4, 000;, 237}} 4) Considere os pontos {{x i, f i }} n da forma x i = (i )h e f i = sen(x i ), onde h = π/(n ) e n é uma constante positiva Encontre os ajustes de mínimos quadrados linear, quadrático e de quinta ordem nos casos n = 7, 0 e 5 Calcule a exatidão nos pontos x j = j π 00, j =, 2,, 00 Observação: não sofra desnecessariamente, construa e utilize um sistema de polinômios ortogonais Seria interessante utilizar um computador no cálculo da exatidão 5) Estudamos em classe o método do mínimos quadrados no caso em que o conjunto de dados é discreto, no entanto é possível ajustar uma função f(x) pela combinação linear f(x) = i c iϕ i (x) para x em um intervalo contínuo [a, b] A técnica é semelhante a que estudamos no caso linear geral com a seguinte diferença, ao invés de utilizar um produto interno discreto, neste caso, o produto interno de duas funções g(x) e h(x) é definido como (g, h) w = b a dx w(x) g(x) h(x) onde w(x) é uma função peso A medida de ajuste, Q(f, f) é dada por Q(f, f) = (f f, f f) w Encontre o ajuste pelo método dos mínimos quadrados (assuma w(x) ) na forma f(x) = a 0 + a x para a função f(x) = e x no intervalo [0, ] 8