Aula 16 – Mínimos Quadrados e Não Linear
Transcrição
Aula 16 – Mínimos Quadrados e Não Linear
Prof. MSc. David Roza José [email protected] 1/26 Mínimos Quadrados Geral e Regressão Não Linear Objetivos: – Implementar a regressão polinomial; – Implementar regressão múltipla linear; – Entender a formulação do modelo linear geral de mínimos quadrados; – Entender como um modelo geral de mínimos quadrados pode ser resolvido no MATLAB com equações normais ou divisão à esquerda; – Entender como implementar a regressão não linear com técnicas de otimização. Prof. MSc. David Roza José [email protected] 2/26 Regressão Polinomial Na aula anterior vimos como utilizar o método dos mínimos quadrados para ajustar retas. O mesmo conceito é estendido para se ajustar polinômios de ordem maior. Tomemos como exemplo um polinômio de segunda ordem: Para este caso a soma dos quadrados dos resíduos torna-se: Assim, para se gerar o ajuste de mínimos quadrados deve-se derivar a equação em relação aos coeficientes desconhecidos do polinômio. Prof. MSc. David Roza José [email protected] 3/26 Regressão Polinomial Obtemos: Estas equações podem ser igualadas a zero (obtenção do mínimo) e reorganizadas para se desenvolver um conjunto de equações normais: Prof. MSc. David Roza José [email protected] 4/26 Regressão Polinomial Observa-se que o sistema de equações é linear e possui três incógnitas: a0, a0 e a2. Os coeficientes das incógnitas podem ser calculados dos dados observados. Nota-se também que resolver um problema de mínimos quadrados para um polinômio de segundo grau é equivalente a resolver um sistema linear 3x3. Isso nos permite facilmente estender a ideia para um polinômio de ordem m. Prof. MSc. David Roza José [email protected] 5/26 Regressão Polinomial O erro padrão pode ser formulado como E o r2 como: Sendo que St e Sr são definidos como: Prof. MSc. David Roza José [email protected] 6/26 Exemplo – Regressão Polinomial Ajustar um polinômio de segundo grau aos dados da tabela mostrada. Os seguintes dados podem então serem calculados: Prof. MSc. David Roza José [email protected] 7/26 Exemplo – Regressão Polinomial Assim, as equações formam o seguinte sistema: Prof. MSc. David Roza José [email protected] 8/26 Exemplo – Regressão Polinomial A resolução do sistema fornece: Prof. MSc. David Roza José [email protected] 9/26 Exemplo – Regressão Polinomial Levando em conta novos dados, efetua-se novo cálculo de tabela: E se pode efetuar o cálculo de r2: Prof. MSc. David Roza José [email protected] 10/26 Exemplo – Regressão Polinomial Prof. MSc. David Roza José [email protected] 11/26 Regressão Linear Múltipla Outra extensão útil da regressão linear é quando o y é uma função linear de duas ou mais variáveis independentes. Por exemplo, y pode ser uma função linear de x1 e x2: Neste caso particular, a linha de regressão torna-se um plano. Prof. MSc. David Roza José [email protected] 12/26 Regressão Linear Múltipla Assim como nos casos anteriores, o valor ótimo dos coeficientes é determinado ao se formular a soma dos quadrados dos resíduos: e derivar em relação aos coeficientes desconhecidos: Prof. MSc. David Roza José [email protected] 13/26 Regressão Linear Múltipla Os coeficientes que fornecerão a mínima soma dos quadrados dos resíduos são obtidos ao se igualar as derivadas parciais a zero e expressar o sistema na forma matricial: Restando, então, somente a resolução do sistema para a obtenção dos coeficientes. Prof. MSc. David Roza José [email protected] 14/26 Exemplo: Regressão Linear Múltipla Os dados da tabela foram criados através da equação mostrada. Utilizar regressão linear para confrontar a equação obtida com a equação original. Prof. MSc. David Roza José [email protected] 15/26 Exemplo: Regressão Linear Múltipla O seguinte sistema é montado: Resultando nos seguintes coeficientes: Que são coerentes com a equação original: Prof. MSc. David Roza José [email protected] 16/26 Mínimos Quadrados Generalizados Vimos, até o momento, três tipos de regressão: linear simples, polinomial e linear múltipla. A rigor, todas as três pertencem ao mesmo modelo geral linear de mínimos quadrados: Tal que z0, z1, …., zm são m+1 funções base. Para modelos lineares fica claro que z0=1, z1=x1, z2=x2, …, zm=xm. Regressão polinomial também está inclusa quando as funções base são monômios tais como z0=1, z1=x, z2=x2, …, zm= xm. Note que o linear refere-se somente à dependência do modelo aos parâmetros, no caso os a’s. No caso da regressão polinomial, as funções – em si – podem ser altamente não lineares. Linear em relação aos parâmetros Prof. MSc. David Roza José [email protected] Não linear em relação aos parâmetros 17/26 Mínimos Quadrados Generalizados A seguinte equação: Pode ser expressa de forma matricial da seguinte maneira: tal que onde m representa o número de variáveis do modelo e n representa a quantidade de dados observados. Na maioria das vezes, [Z] não é uma matriz quadrada. Prof. MSc. David Roza José [email protected] 18/26 Mínimos Quadrados Generalizados Assim, a minimização dos resíduos toma a seguinte forma: E o cálculo dos resíduos entre a curva ajustada e os dados experimentais pode ser expressa da forma matricial como: Prof. MSc. David Roza José [email protected] 19/26 Exemplo Ajustar um polinômio de segundo grau aos seguintes dados, resolvendo através de operações matriciais. x = [0 1 2 3 4 5]; y = [2.1 7.7 13.6 27.2 40.9 61.1]; y = a0 + a1x + a2x2; 1 x1 x12 1 x2 x22 1 x3 x32 1 x 4 x4 2 Assim, [Z]T[Z]{a}=[Z]T{y}, tal que {a} = [Z]T[Z]\[Z]T{y} Prof. MSc. David Roza José [email protected] 20/26 Exemplo Em termos de MATLAB, a = (Z’*Z)\(Z’*y) E para calcular r2 devemos calcular a soma dos quadrados dos resíduos Sr = sum((y-Z*a).^2) r2 = 1 – Sr/sum((y-mean(y)).^2) Prof. MSc. David Roza José [email protected] 21/26 Fatoração QR e divisão à esquerda Gerar curvas ótimas através da resolução de equações normais é algo largamente utilizado e certamente adequado para maioria das aplicações de ajuste de curvas na engenharia e ciência. Entretanto, estes sistemas de equações normais podem ser mal condicionados e bastante sensíveis a erros de arredondamento e truncamento. Dois métodos mais avançados, fatoração QR e decomposição de valor singular, são mais robustos neste aspecto. A descrição destes métodos está além do escopo destas aulas, mas são mencionados porque eles podem ser implementados no MATLAB. A fatoração QR é automaticamente utilizada pelo MATLAB em dois casos: – Ao se ajustar um polinômio através da função polyfit; – Ao se utilizar a divisão à esquerda para resolver sistemas do tipo {y} = [Z]{a}; quando o sistema é superdeterminado. Prof. MSc. David Roza José [email protected] 22/26 Regressão Não Linear Existem muitos casos onde modelos não lineares devem ser utilizados para se ajustar aos dados. Um exemplo pode ser visto: Esta equação não pode ser manipulada para se adequar à forma de: Porém, assim como nos mínimos quadrados, a regressão não linear é baseada no processo de determinar valor dos parâmetros que minimizam a soma dos quadrados dos resíduos. Entretanto, para o caso não linear, a solução deve ser iterativa. Existem técnicas desenvolvidas para a regressão linear. Por exemplo, no método de Gauss-Newton utiliza-se uma expansão por série de Taylor para “linearizar” a equação. Assim, o método de mínimos quadrados pode ser utilizado para se obter as novas estimativas dos parâmetros que minimizam os resíduos. Prof. MSc. David Roza José [email protected] 23/26 Regressão Não Linear Uma alternativa é a de se utilizar técnicas de otimização para determinar o ajuste não linear de mínimos quadrados. Pode-se utilizar as funções implícitas do MATLAB para se obter os parâmetros ótimos através da seguinte sintaxe: [x ,fval] = fminsearch( fun, x0, opções, p1, p2) De forma que x é o vetor de valores dos parâmetros que minimizam a função fun, fval é o valor da função no mínimo e x0 é a estimativa inicial. Prof. MSc. David Roza José [email protected] 24/26 Exemplo: Regressão Não Linear Em exemplos anteriores nós linearizamos a seguinte função para encontrar os valores dos coeficientes ajustados aos dados experimentais do túnel de vento. A linearização foi feita através de logaritmos. Refaremos o exemplo utilizando a regressão não-linear. Definimos no MATLAB a função fSSR.m, que definirá a função que desejamos minimizar. O restante está definido no arquivo RNL.m Prof. MSc. David Roza José [email protected] 25/26 Informações Exercícios: 15.03 15.04 15.08 15.16 15.20 15.24 Prof. MSc. David Roza José [email protected] 15.09 15.10 26/26