Optimalidad basada en la densidad condicional y filtro de ...

25
Estimaci ´ on y Predicci ´ on en Series Temporales Ejemplos de Kalman Departamento de Procesamiento de Se ˜ nales Instituto de Ingenier´ ıa El ´ ectrica Facultad de Ingenier´ ıa 2022 1 / 25

Transcript of Optimalidad basada en la densidad condicional y filtro de ...

Page 1: Optimalidad basada en la densidad condicional y filtro de ...

Estimacion y Prediccion en SeriesTemporales

Ejemplos de Kalman

Departamento de Procesamiento de Senales

Instituto de Ingenierıa ElectricaFacultad de Ingenierıa

2022

1 / 25

Page 2: Optimalidad basada en la densidad condicional y filtro de ...

Introduccion

Motivacion:• Filtro de Kalman: muy generales• Pueden ser intimidantes• Como llevarlo a la practica?• Intentaremos ganar un poco de intuicion

Agenda:• Medicion de una constante• Modelado de procesos ARMA• Aplicacion completa: KalmanPaint

2 / 25

Page 3: Optimalidad basada en la densidad condicional y filtro de ...

Medicion de una constante

3 / 25

Page 4: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteModelando

• N medidas secuenciales de una constante a + ruido• Como podemos disenar un filtro de Kalman para esto?

(si estas leyendo los slides, tomate un rato para pensarlo)

4 / 25

Page 5: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteModelando

5 / 25

Page 6: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteModelo

Modelo general

xn+1 = Fxn +wn , x,w ∈ RM ,A ∈ RM×M

yn = Cxn + vn , y,v ∈ RN ,C ∈ RN×N

Este caso

xn+1 = 1 · xn = a ∈ Ryn = 1 · xn + 1 · vn vn ∼ N (0, σ2)

Identificando• F = 1, Q = 0, C = 1, R = σ2

6 / 25

Page 7: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteImplementacion

Recursion generica1 Gananacia de Kalman: Kn = PnC

⊺n(CnPnC

⊺n +Rn)

−1

2 Correccion del estimador: xn = xn +Kn(yn −Cnxn)

3 Correccion de covarianza: Pn = (I−KnCn)Pn

4 Proyeccion a n+ 1:

xn+1 = Fnxn, Pn+1 = FnPnF⊺n +Qn

Recursion en este caso1 Gananacia de Kalman: Kn = Pn · 1 · (1 · Pn · 1 + σ2)−1

2 Correccion del estimador: xn = xn +Kn(yn − 1 · xn)3 Correccion de covarianza: Pn = (1−Kn · 1) · Pn

4 Proyeccion a n+ 1:

xn+1 = 1xn, Pn+1 = 1 · Pn · 1

7 / 25

Page 8: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteImplementacion

Recursion en este caso1 Gananacia de Kalman: Kn = Pn/(Pn + σ2)

2 Correccion del estimador: xn = xn +Kn(yn − xn)

3 Correccion de covarianza: Pn = (1−Kn)Pn

4 Proyeccion a n+ 1:

xn+1 = xn, Pn+1 = Pn

5 Valores iniciales: x0 = 0, P0 = 1

8 / 25

Page 9: Optimalidad basada en la densidad condicional y filtro de ...

Modelo de constanteResultado

9 / 25

Page 10: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMA

10 / 25

Page 11: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAEsquema de sıntesis modelo ARMA

Realizaciónde proceso ARMA

Realizaciónde ruidoblanco

+

+

+

+

+

+

+-

• v[n] es ruido blanco• Filtro transpuesto tipo II• Representacion no es unica

11 / 25

Page 12: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAModelado

Modelo general

xn+1 = Fxn +wn , x,w ∈ RM ,A ∈ RM×M

yn = Cxn + vn , y,v ∈ RN ,C ∈ RN×N

Este caso• Que es que?• No es tan facil hacer la correspondencia• Infinitas formas distintas: elegimos una

12 / 25

Page 13: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAConceptos clave

• Que es lo que observamos? Eso deberıa ser y[n]• Cual es el estado del sistema? Eso deberıa ser x[n]• Estado = memoria del sistema• Y donde esta la memoria?

13 / 25

Page 14: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAPensemos

14 / 25

Page 15: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMASolucion

+

+

+

+

+

+

+-

estado

salidaruido est.

X(hipotesis)

15 / 25

Page 16: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAEcuaciones

+

+

+

+

+

+

+-

estado

salidaruido est.

X(hipotesis)

ϕn = −a⊺(ϕn−1, . . . , ϕn−M ) + vn

ϕn−r = ϕn−(r+1)−1

un = b⊺(ϕn−1, . . . , ϕn−K)

16 / 25

Page 17: Optimalidad basada en la densidad condicional y filtro de ...

Modelos ARMAModelo final

Tenıamos:

ϕn = −a⊺(ϕn−1, . . . , ϕn−M ) + vn, ϕn−r = ϕn−(r+1)−1

un = b⊺(ϕn−1, . . . , ϕn−K)

Definimos:• Estado xn = (ϕn−1, . . . , ϕn−M )

• Salida yn = un = b⊺(ϕn−1, . . . , ϕn−K) = b⊺xn

17 / 25

Page 18: Optimalidad basada en la densidad condicional y filtro de ...

Forma de Kalman

Llegamos a la siguiente forma:

xn+1︷ ︸︸ ︷ϕn

ϕn−1

· · ·ϕn−M+1

=

F︷ ︸︸ ︷

−a1 −a2 · · · −aM−1 −aM1 0 · · · 0 0

0 1. . . 0

......

......

......

0 0 · · · 1 0

xn︷ ︸︸ ︷ϕn−1

ϕn−2

· · ·ϕn−M

+

wn︷ ︸︸ ︷vn0...0

yn =

C︷ ︸︸ ︷(b⊺, 0, 0, . . . , 0)xn

• Recordar: hay muchas formas de hacer esto mismo, conotras definiciones de estado y otras matrices.

18 / 25

Page 19: Optimalidad basada en la densidad condicional y filtro de ...

Suavizado de trayectorias

19 / 25

Page 20: Optimalidad basada en la densidad condicional y filtro de ...

• Kalman aplicado a modelo fısico• Objetivo: seguir trayectoria• Observacion: posicion• Estado: posicion + velocidad + aceleracion• Hipotesis (FALSA): aceleracion constante + ruido

20 / 25

Page 21: Optimalidad basada en la densidad condicional y filtro de ...

Ecuaciones dinamicas

• Aceleracion a, perıodo de muestreo ∆t

• Velocidad (horizontal): xn+1 = xn + xn∆t

• Posicion (horizontal): xn+1 = xn + xn∆t+ xn(∆t)2

• Aceleracion: xn+1 = xn + vn

• Idem con vel. y pos horizontal• Ruido en la aceleracion: σ2

a

• Ruido en la posicion: σ2x

21 / 25

Page 22: Optimalidad basada en la densidad condicional y filtro de ...

Sistema dinamico

xn+1 = Fxn +wn , x,w ∈ RM ,A ∈ RM×M

yn = Cxn + vn , y,v ∈ RN ,C ∈ RN×N

• Estado = posicion + velocidad + aceleracion (natural!)• Eso tanto vertical como horizontal ⇒ (6 variables)• Observacion: posicion (2 variables)• Con esto, F , C y R quedan muy sencillas

22 / 25

Page 23: Optimalidad basada en la densidad condicional y filtro de ...

Sistema dinamico (cont)

F =

1 ∆t ∆2/2t 0 0 00 1 ∆t 0 0 00 0 1 0 0 00 0 0 1 ∆t ∆2t/20 0 0 0 1 ∆t0 0 0 0 0 1

C = (1, 0, 0, 1, 0, 0)

R =

(σ2p 0

0 σ2p

)

23 / 25

Page 24: Optimalidad basada en la densidad condicional y filtro de ...

Sistema dinamico (cont)

• Ya Q no es tan trivial• El ruido en la aceleracion afectan pos. y vel.!• Hay que tomar valores esperados en cada casilla...• La solucion es:

F = σ2a

∆t2/4 ∆t3/2 ∆t2/2 0 0 0∆t3 ∆t2 ∆t 0 0 0∆t2/2 ∆t 1 0 0 0

0 0 0 ∆t2/4 ∆t3/2 ∆t2/20 0 0 ∆t3 ∆t2 ∆t0 0 0 ∆t2/2 ∆t 1

24 / 25

Page 25: Optimalidad basada en la densidad condicional y filtro de ...

SuavizadoAplicacion: suavizado de trazos

KalmanPaint

https://eva.fing.edu.uy/mod/resource/view.php?id=173415

25 / 25