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

Documentos relacionados