3.2. método dos mínimos quadrados
ponto de partida
Questão:Porquê procurar um método alternativo à interpolação polinomial?
O problema com a interpolação polinomial de grau elevado é a ocorrência degrandes oscilações entre nós de interpolação. Podemos dizer que o esforço para tentar ajustar todos os pontos fornecidos acaba por resultar na perda da estrutura desse conjunto de dados. Como consequência, as previsões realizadas com base nesse ajustamento podem ser bastante imprecisas. A este fenómeno chama-seoverfitting: estamos a tentar ajustar um polinómio de grau maior do que o necessário para fazer o ajustamento.
2
Figura: Duas funções de ajustamento. São evidentes as oscilações do polinómio interpolador no extremo do intervalo.
método dos mínimos quadrados
Hipótese:Sejaf:R→Ruma função da qual se conhecem os valores fj=f(xj)nos pontosxj, j= 0,1, . . . , M.
(ou então, simplesmente, suponhamos conhecer um conjunto deM+ 1 pontos(xj, fj),j= 0, . . . , M).
xj x0 x1 · · · xM
fj f0 f1 · · · fM
Objetivo:
• Dada uma classe de funçõesG, pretende determinar-se qual a função g∈Gquemelhor se ajustaao conjunto de pontos(xj, fj)no sentido dos mínimos quadrados
Por outras palavras:
• Pretende encontrar-se a funçãog∈Gque minimiza a soma dos quadrados dos desvios
Q=
M
X
j=0
(fj−g(xj))2.
4
Vamos tomar conjuntosGque tenham uma base formada por um número finitoN≤M de funções de base:
{φ0(x), . . . , φN(x)}
Assim,g∈Gsignifica que existem coeficientesa0, . . . , aN tais que g(x) =a0φ0(x) +a1φ1(x) +. . .+aNφN(x) =
N
X
k=0
akφk(x).
O problema reduz-se a encontrar os coeficientesa0, . . . aN ∈R.
Objetivo reescrito:
• Dados pontos(x0, f0), . . .(xM, fM)e funçõesφ0(x), . . . , φN(x), pretende determinar-se, de todas as funções que se escrevem da forma
g(x) =
N
X
k=0
akφk(x), coma0, a1, . . . , aN∈R, qual é a que minimiza a soma
Q=
M
X
j=0
(fj−g(xj))2?
exemplos
- O ajustamento de uma reta
g(x) =a0+a1x
a um conjunto de pontos segundo o critério dos mínimos quadrados é designado porregressão linear.
Aqui,G={polinómios de grau 1}, com base{1, x}
- No caso de fenómenos cíclicos, que geram dados que apresentam comportamentos periódicosouquase periódicos, como na observação de marés ou mudanças climáticas, são usadospolinómios
trigonométricos, da forma
g(x) =
N
X
i=0
[aicos (αix) +bisin (βix)]
para efetuar o ajustamento.
Aqui,G=n PM
i=0[aicos (αix) +bisin (βix)] :ai, bi∈R
o, com base {cos(αix),sin(βix)}i=1,...,N.
6
bases mais comuns
Alguns exemplos usados normalmente:
(a) Polinómios φk(x) =xk, k= 0,1,2. . . ,
(b) Polinómios Trigonométricos φk(x) = sin(kx),cos(kx), k= 0,1, . . . , (c) Exponenciais: φk(x) =ekx, k= 0,1,2. . .
método dos mínimos quadrados
Ponto de partida:
• Tomem-seM+ 1pontos(x0, f0), . . . ,(xM, fM), que por ex. advêm de uma funçãof.
• Sejam dadas funçõesN+ 1de base{φ0(x), . . . , φN(x)}, comN ≤M. Incógnitas do problema:
• Afunção aproximadora(ajustadora)gescreve-se como uma combinação linear das funções de base:
g(x) =a0φ0(x) +a1φ1(x) +. . .+aNφN(x) =
N
X
k=0
akφk(x) onde os parâmetrosa0, . . . , aN são as incógnitas do problema.
Objetivo (reescrito):
• Pretendemos encontrar o mínimo da funçãoQ:RN+1→Rdada por Q(a0, a1, . . . .aN) =
M
X
j=0
(fj−g(xj))2=
M
X
j=0
fj−
N
X
k=0
akφk(xj)
!2
Esta é uma função quadrática.
8
método dos mínimos quadrados
Questão: Como encontrar um mínimo?
Recordemos de Cálculo 2 que:
• Para queQ:RN+1→Rtenha um mínimo ema= (a0, a1, . . . , aN), é necessário queaseja um ponto estacionário, i.e.
∇Q= 0 ⇔ ∂Q
∂ai
= 0, i= 0,1, . . . , N . (os zeros do gradiente são os candidatos a mínimo)
• Se, além disso, a matriz Hessiana deQfordefinida positiva, então o ponto estacionárioaé ummínimo globalúnico deQ.
Conclusão: Se encontrarmos um zero do gradiente deQ, e a matriz Hessiana for sempre definida positiva, então encontrámos a única solução do problema.
derivadas de q
Q(a0, a1, . . . .aN) =
M
X
j=0
(fj−g(xj))2 =
M
X
j=0
fj−
N
X
k=0
akφk(xj)
!2
Tem-se
∂Q
∂ai
= ∂
∂ai M
X
j=0
fj−
N
X
k=0
akφk(xj)
!2
=−2
M
X
j=0
fj−
N
X
k=0
akφk(xj)
! φi(xj)
=−2
M
X
j=0
f(xj)φi(xj)−
N
X
k=0
ak M
X
j=0
φk(xj)φi(xj)
!
10
produto interno
Notação. Dados
• M+ 1nósx0, . . . , xM;
• duas funçõesu, vdefinidas nesses nós com valores uj=u(xj), vj=v(xj),j= 0, . . . , M
define-se o produto interno:
hu, vi:=
M
X
j=0
u(xj)v(xj) =
M
X
j=0
ujvj,
ObservaçãoO problema de determinar a melhor aproximação mínimos quadrados corresponde à minimização da norma euclidiana, induzida pelo produto internoh·,·i:
kf−gk22=hf−g, f−gi.
método dos mínimos quadrados: pontos de estacionariedade
Com o produto internoh·,·i, as derivadas parciais escrevem-se:
∂Q
∂ai
=−2 hf, φii −
N
X
k=0
akhφk, φii
! ,
∂2Q
∂aiaj
= 2hφj, φii.
Para os pontos de estacionariedade:
∂Q
∂ai
= 0 ⇐⇒
N
X
k=0
akhφk, φii=hf, φii, i= 0, . . . , N ,
12
pontos de estacionaridade: sistema normal
Os pontos de estacionaridade deD, se existirem, são solução do sistema linear
N
X
k=0
akhφk, φii=hf, φii Em notação matricial, o sistema escreve-se
hφ0, φ0i hφ0, φ1i · · · hφ0, φNi hφ1, φ0i hφ1, φ1i ...
... ... ...
hφN, φ0i · · · hφN, φNi
a0
a1
... aN
=
hf, φ0i hf, φ1i
... hf, φNi
. (1)
A este sistema chama-sesistema normalousistema de equações normais.
Note-se que, devido à simetria dos produtos internos,hφi, φji=hφj, φii, a matrizM do sistema normal é simétrica.
A matriz do sistema normal pode ser escrita na forma
M=
hφ0, φ0i hφ0, φ1i · · · hφ0, φNi
hφ1, φ0i hφ1, φ1i ...
..
. . .. ...
hφN, φ0i · · · · · · hφN, φNi
=
φ0(x0) φ0(x1) · · · φ0(xM) φ1(x0) φ1(x1) · · · ...
.. .
.. .
φN(x0) · · · · · · φN(xM)
·
φ0(x0) φ1(x0) · · · φN(x0) φ0(x1) φ1(x1) · · · ...
.. .
.. .
φ0(xM) · · · · · · φN(xM)
Ou seja: M =GT·G, em que
G=
φ0(x0) φ1(x0) · · · φN(x0) φ0(x1) φ1(x1) · · · ...
... ...
φ0(xM) · · · φN(xM)
(M+1)×(N+1)
14
sistema normal reescrito
Assim, podemos escrever o sistema normal da forma.
GTGa=GTf onde
G=
φ0(x0) φ1(x0) · · · φN(x0) φ0(x1) φ1(x1) · · · ...
... ...
φ0(xM) · · · φN(xM)
, f=
f0
... fM
onde a solução será o vetor de incógnitas do problema:
a=
a0
... aN
método dos mínimos quadrados: quando temos um mínimo?
Já vimos a expressão dos pontos de estacionaridade deQ. Pergunta:Quando é que estes correspondem a um mínimo?
Resposta: Quando a matriz Hessiana deQfor definida positiva.
A matriz Hessiana deQcoincide com o dobro da matrizM =GTGdo sistema normal:
∂2Q
∂ai∂aj
= 2hφi, φji, i, j= 0, . . . , N . A matrizM é simétrica e semi-definida positiva visto que
xTM x=xTGTGx=hGx, Gxi=kGxk22≥0 ∀x∈RN+1. Conclusão: A matriz Hessiana deQé definida positiva se e só seM for definida positiva, o que é equivalente adet(M)6= 0, ou àscolunas da matriz Gserem linearmente independentes.
Uma outra forma de escrever a conclusão é a seguinte: as funções de base {φ0(x), . . . , φN(x)}deverão ser linearmente independentes no conjunto de pontos{x0, . . . , xM}.
16
resumo: algoritmo dos mínimos quadrados
Ponto de partida:
• Tomem-seM+ 1pontos(x0, f0), . . . ,(xM, fM).
• Sejam dadas funçõesN+ 1de baseφ0(x), . . . , φN(x), comN≤M.
Algoritmo: resolvo o sistema normal:
hφ0, φ0i hφ0, φ1i · · · hφ0, φNi hφ1, φ0i hφ1, φ1i ...
... ... ...
hφN, φ0i · · · hφN, φNi
·
a0
a1
... aN
=
hf, φ0i hf, φ1i
... hf, φNi
onde, por definição:
hφi, φji=
M
X
k=0
φi(xk)φj(xk), hf, φii=
M
X
k=0
fkφi(xk), i= 1, . . . , m Resultado: Obtenho a função
g(x) =
N
X
k=0
akφk(x)
resumo: outra forma de escrever o algoritmo
O sistema é da forma:
GTGa=GTf onde
G=
φ0(x0) φ1(x0) · · · φN(x0) φ0(x1) φ1(x1) · · · ...
... ...
φ0(xM) · · · φN(xM)
, f=
f0
... fM
Obtenho a função:
g(x) =
N
X
k=0
akφk(x)
18
resumo: método dos mínimos quadrados
Quandodet(M)6= 0ou, de forma equivalente, ascolunas da matrizGsão linearmente independentes, ou seja, quando
as funções de base{φ0, . . . , φN}são linearmente independentes no con- junto de pontos{x0, . . . , xM},
então a matrizM =GTGdo sistema normal é definida positiva.
Nestas condições, o sistema normal tem uma única solução, e a função
Q(a0, a1, . . . .aN) =
M
X
j=0
(fj−g(xj))2 =
M
X
j=0
fj−
N
X
k=0
akφk(xj)
!2
tem um único mínimo local.
Ou seja:o problema de minimizar o quadrado dos desvios tem uma e uma só solução!
exemplo 1
Considere a tabela
xk −1 1 3 4 6
fk 1 −1 10 2 1
Exercício/Exemplo 1: Determine a função da forma g(x) =a0x+a1e−(x−3)2
que melhor se ajusta a estes pontos no sentido dos mínimos quadrados.
20
exemplo 1
Neste caso, as funções de base para o método dos mínimos quadrados são:
φ0(x) :=x, φ1(x) :=e−(x−3)2. O sistema de equações normais é da forma
"
hφ0, φ0i hφ0, φ1i hφ0, φ1i hφ1, φ1i
# "
c1
c2
#
=
"
hf, φ0i hf, φ1i
#
com hφ0, φ0i=
4
X
k=0
φ0(xk)2=
4
X
k=0
x2k= (−1)2+ 12+ 32+ 42+ 62= 63
hφ1, φ1i=
4
X
k=0
φ1(xk)2=
4
X
k=0
e−2(xk−3)2 =e−32+e−8+e0+e−2+e−18
∼1.135670761
hφ0, φ1i=
4
X
k=0
φ0(xk)φ1(xk) =
4
X
k=0
xke−(xk−3)2
=−e−16+e−4+ 3e0+ 4e−1+ 6e−9∼4.490573750
exemplo 1
hf, φ0i=
4
X
k=0
fkφ0(xk) =
4
X
k=0
fkxk=−1−1 + 30 + 8 + 6 = 42
hf, φ1i=
4
X
k=0
fkφ1(xk) =
4
X
k=0
fke−(xk−3)2
=e−16−e−4+ 10e0+ 2e0+ 2e−1+e−9 ∼10.717566776.
Resolvendo o sistema
"
63 4.490573750 4.490573750 1.135670761
#
·
"
a0
a1
#
=
"
42 10.71756677
#
obtém-se(a0, a1)∼(−0.00836581,9.47029), que ésolução única do sistema (em particular,M é definida positiva), e a função de ajustamento fica
g(x) =−0.00836581x+ 9.47029e−(x−3)2.
22
exemplo 1
Figura: Pontos tabelados e função de ajustamento g(x) =−0.00836581x+ 9.47029e−(x−3)2
exemplo 1
Uma forma equivalente de chegar ao sistema normal é a seguinte:
x0=−1, x1= 1, x2= 3, x3= 4, x4= 6, φ0(x) =x, φ1(x) =e−(x−3)2, logo
G=
φ0(x0) φ1(x0) φ0(x1) φ1(x1) φ0(x2) φ1(x2) φ0(x3) φ1(x3) φ0(x4) φ1(x4)
=
−1 e−16 1 e−4
3 1
4 e−1 6 e−9
portantoGTGa=GTfé:
−1 1 3 4 6
e−16 e−4 1 e−1 e−9
·
−1 e−16 1 e−4
3 1
4 e−1 6 e−9
· a0
a1
=
−1 1 3 4 6
e−16 e−4 1 e−1 e−9
·
1
−1 10 2 1
24
exemplo 2
Exemplo 2. Determine a função da forma g(x) = 1 +a0x2+a1x4,
que melhor se ajusta ao conjunto de pontos(xj, fj), j= 0,1,2,3,dado por
i 0 1 2 3
xi 0 0.5 1.0 1.5 fi 1.0 1.2 1.5 2.0 Temos que minimizar a função quadrática
Q(a0, a1) =
3
X
i=0
(fi−g(xi))2=
3
X
i=0
fi−1−(a0x2i +a1x4i)2
. As funções de base são
φ0(x) =x2, φ1(x) =x4.
exemplo 2
O sistema de equações normais escreve-se
hφ0, φ0i hφ0, φ1i hφ1, φ0i hφ1, φ1i
a0
a1
=
hf−1, φ0i hf−1, φ0i
, onde
hφ0, φ0i=
3
X
i=0
x4i = 6.125, hφ0, φ1i=hφ1, φ0i=
3
X
i=0
x6i = 12.40625,
hφ1, φ1i=
3
X
i=0
x8i = 26.6328125,
hf−1, φ0i=
3
X
i=0
(fi−1)x2i = 2.8, hf−1, φ1i=
3
X
i=0
(fi−1)x4i = 5.575.
26
exemplo 2
Segue-se que
a0= 0.587023, a1=−0.0641221 ⇒ g(x) = 1+0.587023x2−0.0641221x4. Note-se que se considerássemos as funções de baseφ0(x) =x2 eφ1(x) =x4 e os pontosx0=−1, x1= 0ex1= 1, a matrizAdo sistema normal seria singular
A=GTG=
1 0 1 1 0 1
1 1 0 0 1 1
=
2 2 2 2
,
i.e. as funções de baseφ0 eφ1 não seriam linearmente independentes neste conjunto pontos.
exemplo 2
ResoluçãoMatlab
28
exemplo 2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0.5 1 1.5 2 2.5
2 4
exemplo 3: polinómios
Exemplo 3: Vejamos o caso em que as bases são os monómiosφk(x) =xk. Tomem-seM+ 1nós: x0, . . . , xM.
Considerem-se as funções de baseφ0(x) = 1, φ1(x) =x, . . . , φN(x) =xN. Neste caso o sistema normal fica
M+ 1
M
X
k=0
xk · · ·
M
X
k=0
xNk M
X
k=0
xj M
X
k=0
x2k ...
... ... ...
M
X
k=0
xNk · · · ·
M
X
k=0
x2Nk
·
a0
a1
... aN
=
M
X
k=0
fk M
X
k=0
xkfk
...
M
X
k=0
xNkfk
. (2)
e obtemos:
g(x) =a0+a2x+. . . aNxN.
30
exemplo 3: polinómios
A matriz do sistema normal (4) escreve-seA=GTG, onde
G=
1 x0 x20 · · · xN0 1 x1 x21 ...
... ...
1 xM x2M · · · xNM
(3)
(a matriz dematriz de Vandermonde!)
Se pontosxj forem distintos eM ≥N, então rank(G) =rank(A) =N+ 1 (rank= característica da matriz).
Neste caso, a matriz do sistema normal é, em particular, definida positiva.
Por exemplo, seN= 1, temos o caso daregressão linear(recordar pág. 3)
M+ 1
M
X
k=0
xk M
X
k=0
xk M
X
k=0
x2k
a0
a1
=
M
X
k=0
fk M
X
k=0
xkfk
, (4)
donde se obtém
a0=
X
k
x2k
X
k
fk−X
k
xk
X
k
xkfk
(M+ 1)X
k
x2k− X
k
xk
!2 ,
a1= X
k
xk
X
k
fk−(M+ 1)X
k
xkfk
X
k
xk
!2
−(M+ 1)X
k
x2k
,
onde todas as somas emksão entre0eM. A função aproximadora é dada por
g(x) =a0+a1x .
32
relação entre mínimos quadrados e
interpolação
método dos mínimos quadrados e interpolação
Observação: SeN=M, isto é, se o número de funções de baseN+ 1 coincide com o número de pontosM+ 1, o problema dos mínimos quadrados reduz-se a um problema de interpolação, isto é, a função aproximadoraginterpola os valoresfk:
g(xj) =fj, j= 0, . . . , M .
Isto explica porque, ao usar o comando polyfit do Matlab, quando (por exemplo) temos listasxeyde5pontos e fazemospolyfit(x, y,4), o resultado prático é a determinação do polinómio interpolador.
34