Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3 – Identificação Recursiva.
I [m A ]
5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
V [volt]
J(g)
^g g
1 dJ
=0
2 dg g = g$
ou seja
− 1 × ( 2.1 − g$ × 1) − 2 × (3.9 − g$ × 2 ) − 3 × (6.2 − g$ × 3) − 4 × (7.9 − g$ × 4 ) = 0
Esta equação simplifica-se para 60g$ − 1201
. = 0 sendo a estimativa de
mínimos quadrados dada por
g$ = 2.00
X Y
X1 Y1
X2 Y2
X3 Y3
X4 Y4
X5 Y5
I [m A ]
n 5
J (α ) = ∑ (Yi − αX i )
2 4
3
i =1
2
O que estamos à
O que efectivamente
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
V [volt] Xi
observamos espera que seja Yi
ou seja
n
∑ X (Y − α$X ) = 0
i =1
i i i
∑
n
X iYi
α$ = i =1
∑
n 2
X
i =1 i
Mínimo ou não?
1 dJ
A condição 2 dα = 0 não garante necessariamente que J (α ) seja mínimo
α =α$
dα 2
= ∑X
i =1
i
2
>0
Neste exemplo, esta condição é veri ficada se for feita pelo menos uma
medida com X ≠ 0 (o que tem uma interpretação geométrica imediata).
Veremos a seguir que se estimarmos mais do que um parâmetro a segunda
derivada deixa de ser um escalar. A condição de mínimo é então a de que os
dados sejam tais que a matriz de segundas derivadas seja definida positiva.
Como caricatura, pode dizer-se que os bons relógios são os que estão
parados pois dão horas absolutamente certas duas vezes por dia.
Um outro exemplo é o de um caçador que vê dois pombos. Se disparar para o
ponto que minimiza a distância média quadrática aos dois pombos…
São assim o único algoritmo de estimação que será estudado nesta disciplina
(o que, repete-se, não implica limitações em termos de controlo adaptativo).
t [s] h [m]
1 8.49 h(t)
2 20.05
3 50.65
4 72.19
5 129.85
6 171.56
ESTIMADOR
∑y
k =1
2
( k ) = 30 ∑u
k =1
2
( k ) = 50 ∑ y( k + 1) y( k ) = 1
k =1
1000 1000
∑ y( k + 1)u( k ) = 36 ∑ y ( k )u( k ) = 20
k =1 k =1
1 N
J = ∑ [ y ( k + 1) − ay ( k ) − bu ( k )]
2
2 k =1
∂J N
= − ∑ y ( k )[ y ( k + 1) − ay ( k ) − bu ( k )] = 0
∂a k =1
∂J N
= − ∑ u( k )[ y ( k + 1) − ay ( k ) − bu( k ) ] = 0
∂b k =1
N N N
a$ ∑ y ( k ) + b$ ∑ y ( k )u( k ) = ∑ y ( k ) y ( k + 1)
k =1
2
k =1 k =1
30a$ + 20b$ = 1
N N N
a$ ∑ u( k ) y ( k ) + b$ ∑ u 2 ( k ) = ∑ u( k ) y ( k + 1)
k =1 k =1 k =1
20a$ + 50b$ = 36
a$ = −0.61 b$ = 0.964
Notação matricial
Se quisermos resolver o problema de estimação para um número arbitrário de
parâmetros temos de usar a notação matricial.
y ( t ) + a1 y ( t − 1) + K + a n y ( t − n ) = b0 u ( t − 1) + K + bm u ( t − 1 − m) + e( t )
Define-se o regressor , ϕ ,como
ϕ ′ ( t − 1) = [ − y ( t − 1) K − y ( t − n ) u ( t − 1) u ( t − 1 − m)]
e o vector de parâmetros a estimar, θ ,como
θ ′ = [ a1 K a n b1 K bm ]
O modelo escreve-se:
y ( t ) = ϕ ′ ( t − 1)θ + e ( t )
2N t =1
ε [ N × 1]
y[ N × 1]
[
Φ N × np ][ np × 1 ]
O conjunto das N observações satisfaz:
y = Φθ + ε
1 1
J (θ ) = ε = ε ′ε
2
2N 2N
Como:
ε = y − Φθ$
O funcional de
Vem:
mínimos quadrados
1
J (θ ) = ( y ′ − θ ′Φ ′)( y − Φθ ) é uma forma
2N
quadrática em θ
1
J (θ ) = ( y ′y − 2 y ′Φθ + θ ′Φ ′Φθ )
2N
∇θ J (θ ) θ =θ$ = 0
Gradiente da forma quadrática
∇ x ( x ′Ax ) = 2 x ′A
Recordando:
1
J (θ ) = ( y ′y − 2 y ′Φθ + θ ′Φ ′Φθ )
2N
vem
1
∇θ J = ( − 2 y ′Φ + 2θ ′Φ ′Φ)
2N
θ$′Φ ′Φ = y ′Φ
ou, transpondo
Φ ′Φθ$ = Φ ′y
Equação Normal
Em conclusão, a estimativa de mínimos quadrados do vector de parâmetros θ
do modelo de regressão linear
y ( t ) = ϕ ′ ( t − 1)θ + e ( t )
satisfaz a equação matricial (dita equação normal)
Φ ′Φθ$ = Φ ′y
Se existir a inversa de Φ ′Φ a estimativa de mínimos quadrados existe e é
única, sendo dada por
θ = ( Φ ′ Φ ) Φ ′y
$ −1
b) E se se souber que b1 = 0 ?
c) E se u( 0) = 0 e u( k ) = 1 ∀ k ≥1 ?
⎡ ′⎤
( )(
P = E ⎢ θ − θ$ θ − θ$
⎣
) ⎥
⎦
No caso em que os resíduos formam uma sequência branca, tem-se:
i)A estimativa de mínimos quadrados é centrada (a média do erro é zero):
[ ]
E θ$ − θ = 0
P = ( Φ ′Φ )
−1
Este último facto motiva que se denomine matriz de informação a matriz dada
por
Λ = P − 1 = Φ ′Φ
Note-se que o facto de as estimativas de mínimos quadrados não serem
centradas quando o ruído é colorido não é uma limitação em Controlo
Adaptativo (embora implique o recurs o a outros métodos quando a motivação
é outra, por exemplo identificação).
Estimador Recursivo
Objectivo: Obter a estimativa combinando uma estimativa anterior com novos
dados sem ter que reescrever a equação normal.
Novos dados
y ( t ), ϕ ( t − 1)
Estimativa anterior θ ( t − 1) e Novas, estimativa θ (t ) e
RLS
variáveis auxiliares P ( t − 1) variáveis auxiliares P ( t )
θ (t ) = ( Φ ′Φ ) Φ ′y
$ −1
k =1
t
θ$ (t ) = Λ ( t ) ∑ y ( k )ϕ ( k − 1)
−1
k =1
⎡ t −1
⎤
θ$ ( t ) = Λ ( t ) ⎢∑ y ( k )ϕ ( k − 1) + y ( t )ϕ ( t − 1) ⎥
−1
⎣ k =1 ⎦
t −1
Λ( t − 1)θ$ (t − 1) = ∑ y ( k )ϕ ( k − 1)
k =1
[
θ$ ( t ) = Λ−1 (t ) Λ (t − 1)θ$ ( t − 1) + y ( t )ϕ ( t − 1) ]
[
θ$ ( t ) = Λ−1 (t ) Λ (t − 1)θ$ ( t − 1) + y ( t )ϕ ( t − 1) ]
Λ ( t − 1) = Λ ( t ) − ϕ ( t − 1)ϕ ′ ( t − 1)
Assim:
[
θ$ ( t ) = Λ−1 ( t ) Λ ( t )θ$ ( t − 1) − ϕ ( t − 1)ϕ ′( t − 1)θ$ ( t − 1) + y ( t )ϕ ( t − 1) ]
[
θ$ ( t ) = θ$ ( t − 1) + Λ−1 ( t )ϕ ( t − 1) y ( t ) − ϕ ′( t − 1)θ$ ( t − 1) ]
[
θ$ ( t ) = θ$ ( t − 1) + Λ−1 ( t )ϕ ( t − 1) y ( t ) − ϕ ′( t − 1)θ$ ( t − 1) ]
Nova
Estimativa Diferença entre o que esperamos que seja y(t)
Ganho
estimativa
anterior dada a estimativa e o qure observamos
vectorial
Λ ( t ) = Λ ( t − 1) + ϕ ( t − 1)ϕ ′ ( t − 1)
[
θ$ ( t ) = θ$ ( t − 1) + Λ−1 ( t )ϕ ( t − 1) y ( t ) − ϕ ′( t − 1)θ$ ( t − 1) ]
Λ ( t ) = Λ ( t − 1) + ϕ ( t − 1)ϕ ′ ( t − 1)
Se trabalharmos com a matriz de covariância as equações ficam:
[
θ$ ( t ) = θ$ ( t − 1) + P ( t )ϕ ( t − 1) y ( t ) − ϕ ′ ( t − 1)θ$ ( t − 1) ]
P ( t ) = [ Λ ( t − 1) + ϕ ( t − 1)ϕ ′ ( t − 1) ]
−1
P ( t ) = [ Λ ( t − 1) + ϕ ( t − 1)ϕ ′ ( t − 1) ]
−1
[ A + BCD] −1 −1 −1
= A − A B DA B + C [ −1
]
−1 −1
DA −1
P ( t ) = P ( t − 1) − P ( t − 1)ϕ ( t − 1)[ϕ ′ ( t − 1) P ( t − 1) + 1] ϕ ′ ( t − 1) P ( t − 1)
−1
Escalar
[
θ$ ( t ) = θ$ ( t − 1) + K ( t ) y ( t ) − θ$ ( t − 1)ϕ ( t − 1) ]
"Ganho de Kalman"
"Equação de Riccati"
Exercício
K ( t ) = P ( t )ϕ ( t − 1)
P ( t − 1)ϕ ( t − 1)ϕ ′ ( t − 1) P ( t − 1)
P ( t ) = P ( t − 1) −
1 + ϕ ′ ( t − 1) P ( t − 1)ϕ ( t − 1)
Mostre que o ganho de Kalman e a equação de Riccati podem ser escritos
como:
P ( t − 1)ϕ ( t − 1)
K (t ) =
1 + ϕ ′ ( t − 1) P ( t − 1)ϕ ( t − 1)
P ( t ) = [ I − K ( t )ϕ ′ ( t − 1)] P ( t − 1)
5
y ( t ) = ϕ ( t − 1)θo + e( t )
θo = 2
4.5
Ganho de K alm an
4
Ganho do estimador:
3.5
regime estacionário.
2
1
O ganho de Kalman é alto no início e
Ganho fixo= 0.03
0.5
baixo no fim, variando no tempo.
0
0 20 40 60 80 100 120 140 160 180 200
Densidade de 1
0
probabilidade
-1
dos parâmetros
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
a$ = a + βK b$ = b + β
conduzem à mesma relação entrada/saída. Eliminando β , obtém-se a
seguinte relação entre as estimativas e os parâmetros a estimar
1
b = b + ( a$ − a )
$
K
Qualquer estimativa ( a$ , b$ ) que verifique esta condição descreve igualmente
bem o comportamento entrada/saída.
b^
1/K
a ^a
Esquecimento exponencial
O adormecimento dos mínimos quadrados recursivos acontece porque o
algoritmo pesa igualmente os dados recentes e os do passado remoto.
Para o evitar, pode modificar-se o funcional de custo por forma a pesar menos
os pontos do passado:
1 t t−k
J (θ ) = ∑ λ [ y ( t ) − ϕ ′ ( k − 1)θ ]
2
2 k =1
Peso exponencial, menor nos dados mais antigos
Memória assimptótica
A memória assimptótica N dá-nos uma ideia do número de dados que
influenciam a estimativa actual.
λ N
1 1 ∞
N = 0.99 100
1− λ 0.98 50
0.95 20
[
θ$ ( t ) = θ$ ( t − 1) + K ( t ) y ( t ) − θ$ ( t − 1)ϕ ( t − 1) ]
P (t − 1)ϕ ( t − 1)
K (t ) =
λ + ϕ ′(t − 1) P(t − 1)ϕ (t − 1)
P ( t ) = [ I − K ( t )ϕ ′ ( t − 1) ] P ( t − 1) / λ
Demonstre que estas equações minimizam o custo exponencial.
Observe que a matriz de informação é actualizada por
Λ ( t ) = λΛ ( t − 1) + ϕ ( t − 1)ϕ ′ ( t − 1)
a = 0.6 b = 01
.
(este valor não se sabe na prática; aqui é usado apenas para comparação!)
a$ 0.8
3
10
0.7 tr(P)
0.6
2
10
0.5
0.4
1
10
0.3
0.2 0
10
0.1
-1
0 10
0 50 100 150 200 250 300 0 50 100 150 200 250 300
a$ 0.6 3
10
0.5
2
10
0.4
1
10
0.3
0
10 tr(P)
0.2
-1
10
0.1
-2
0 10
0 50 100 150 200 250 300 0 50 100 150 200 250 300
0.9
O parâmetro a muda em t=100 de 0.6
Lbd=0.95
para 0.8.
0.8
0.7
0
regime estacionário as fluctuações são
0 50 100 150 200 250 300
maiores.
0.3
y (t + 1) = ay (t ) + bu(t ) + e( t + 1) + ce(t )
0.2
quando c=0 e quando c = 0.95
0 100 200 300 400 500 600 700 800 900 1000
Mínimos Quadrados
2
-1
-2
0 20 40 60 80 100 120 140 160 180 200
Máxima Versomilhança
2
-1
-2
0 20 40 60 80 100 120 140 160 180 200