Modelo de espacio de estados
Filtro de Kalman
José J. Cerda-Hernández
Department of Statistics
August 9, 2020
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 1 / 15
Filtro de Kalman
En 1960, Rudolf Emil Kalman publicó o su famoso paper describiendo
una solución recursiva para el problema del filtro lineal de datos
discretos (KALMAN, 1960).
El Filtro de Kalman es un estimador para el problema denominado
“problema Gaussiano lineal-cuadrático”, que consiste en estimar los
estados instantaneos de un sistema lineal dinámico perturbado por un
ruido blanco Gaussiano (media cero y varianza σ 2 ) usando mediciones
linealmente relacionadas a los estados que también están corrompidas
por ruido blanco (GREWAL, 1993).
El filtro permite estimar estados pasados, presentes y futuros de un
sistema siendo que para isso no es necesario un conocimento preciso
de su modelo. En este caso, el termino “filtro” significa la separación
entre “sinal” y “ruı́do”.
Entre los diferentes usos que tiene el filtro de Kalman se encuentra el
que se puede utilizar para estimar la tendencia de una serie de tiempo.
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 2 / 15
Modelo de espacio de estados
Los modelos de espacio de estados son una rica clase de modelos más
flexibles para estimar, por ejemplo, tendencia de series de tiempo.
Los modelos ARIMA pueden ser formulados en forma de espacio de
estados (frecuentemente para estimar los parámetros del modelo).
Estos modelos sirven para modelar tendencia y estacionalidad de
series de tiempo.
Relativamente fácil de estimar los parámetros del modelo, pronosticar
y suavizar las estimaciones pasadas de los componentes del modelo.
A diferencia del modelado ARIMA, el uso de modelos de espacio de
estados no requiere estacionariedad.
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 3 / 15
Formulación del modelo
Ecuación de observación (medida):
Yt = Xt βt + t
0 0
donde E(t ) = 0, E(t t ) = Σ y E(t s ) = 0, t 6= s.
Ecuación de transición (estado):
βt = Tt βt−1 + ηt
0 0 0
donde E(ηt ) = 0, E(ηt ηt ) = Q, E(ηt ηs ) = 0, t 6= s y E(t ηs ) = 0 para
todo t, s.
Claramente, Yt y βt pueden ser vectores.
Si βt = β, Tt = I y Q = 0, entonces el modelo se reduce a un
modelo de regresión lineal con coeficientes fijos.
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 4 / 15
Ejemplos
Ejemplo1: Caminata aleatoria + ruido
Ecuación de obs : yt = θt + t , Var (t ) = σ 2 (Xt = 1)
Ecuación de trans : θt = θt−1 + ηt , Var (ηt ) = q 2 (Tt = 1)
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 5 / 15
Ejemplo2: Tendencia local lineal
yt = Lt + t
Lt = Lt−1 + Rt−1 + η1t
Rt = Rt−1 + η2t
donde Var (η1t ) = σ12 , Var (η2t ) = σ22 y Cov (η1t , η2t ) = 0.
Formulación en espacio de estados
0
Sea βt = (Lt , Rt ) , entonces yt = (1, 0)βt + t (Xt = (1, 0)), y
Lt 1 1 Lt−1 η1t
βt = = +
Rt 0 1 Rt−1 η2t
2
σ1 0
donde Q =
0 σ22
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 6 / 15
Ejemplo2: Tendencia local lineal
yt = Lt + t
Lt = Lt−1 + Rt−1 + η1t
Rt = Rt−1 + η2t
donde Var (η1t ) = σ12 , Var (η2t ) = σ22 y Cov (η1t , η2t ) = 0.
Formulación en espacio de estados
0
Sea βt = (Lt , Rt ) , entonces yt = (1, 0)βt + t (Xt = (1, 0)), y
Lt 1 1 Lt−1 η1t
βt = = +
Rt 0 1 Rt−1 η2t
2
σ1 0
donde Q =
0 σ22
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 7 / 15
Ejemplo3: Modelo básico estructural (Basic Structural Model,
BSM)
Este modelo extiende el modelo previo adicionando efectos estacionales
{St }. Supongamos por conveniencia una serie trimestral.
0
Sea βt = (Lt , Rt , St , St−1 , St−2 )
yt = (1, 0, 1, 0, 0)βt + t
donde
Lt 1 1 0 0 0 Lt−1 η1t
Rt
0 1 0 0 0 Rt−1
η2t
βt =
St =
0 0 −1 −1 −1
St−1
+
η3t
St−1 0 0 1 0 0 St−2 η4t
St−2 0 0 0 1 0 St−3 η5t
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 8 / 15
Ejemplo3: Modelo básico estructural (Basic Structural Model,
BSM) (cont.)
2
σ1 0 0 0 0
0 σ22 0 0 0
2
0 0 σ2
donde Q = 0 0 .
0 0 0 0 0
0 0 0 0 0
Observe que para cada tiempo t hay 4 efectos estacionales,
(St , St−1 , St−2 .St−3 ), y
3
X
St−j = η3t
j=0
y Var (η3t ) = σ32
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 9 / 15
Escribiendo modelos ARMA como espacio de estados
Ejemplo1: MA(1)
yt = t − θt−1
Ejemplo1: ARMA(1,1)
yt = φyt−1 + t − θt−1
Ejemplo1: ARMA(2,2)
yt = φ1 yt−1 + φ2 yt−2 + t − θ1 t−1 − θ2 t−2
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 10 / 15
Filtro de Kalman
Ecuación de observación (medida):
Yt = Xt βt + t
0 0
donde E(t ) = 0, E(t t ) = Σ y E(t s ) = 0, t 6= s.
Ecuación de transición (estado):
βt = T βt−1 + ηt
0 0 0
donde E(ηt ) = 0, E(ηt ηt ) = Q, E(ηt ηs ) = 0, t 6= s y E(t ηs ) = 0 para
todo t, s.
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 11 / 15
Filtro de Kalman
Denotamos por β̂t−1 el mejor predictor lineal insesgado (Best Linear
Unbiased Predictor BLUP) de βt−1 basado en las observaciones
Y1 , Y2 , ..., Yt−1 .
Sea Pt−1 la matriz de covarianza del error de predicción correspondiente,
h 0
i
Pt−1 = E (β̂t−1 − βt−1 )(β̂t−1 − βt−1 )
Predicción del siguiente vector de estados
β̂t|t−1 = T β̂t−1
La matriz de covarianza del error serı́a
h 0
i
E (T β̂t−1 −βt )(T β̂t−1 −βt )
h 0
i 0
= E (T β̂t−1 −T βt−1 −ηt )(T β̂t−1 −T βt−1 −ηt ) = TPt−1 T + Q
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 12 / 15
Denotemos por
0
Pt|t−1 = TPt−1 T + Q
Pt|t−1 es la matriz de covarianza del error de predicción al predecir el
vector de estado βt en el tiempo t − 1.
Predicción del siguiente observación
Ŷt|t−1 = Xt T β̂t−1 = Xt β̂t|t−1 (predictor de t = 0)
La matriz de covarianza del error serı́a
h 0
i
E (Ŷt|t−1 −Yt )(Ŷt|t−1 −Yt )
h 0
i 0
= E (T β̂t−1 −T βt−1 −ηt )(T β̂t−1 −T βt−1 −ηt ) = Xt Pt|t−1 Xt + Σ = Ft
Ft es la matriz de covarianza del error cuando se predice Yt en el tiempo
t − 1.
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 13 / 15
Actualización de predictores con nuevas observaciones
En el tiempo t obtenemos nuevas observaciones Yt .
Ahora tenemos dos predictores independientes de βt y podemos construir
el siguiente modelo de “regresión”
β̂t|t−1 I ut Pt|t−1 0
= βt + , Cov (ut , t ) =
Yt Xt t 0 Σ
donde ut = β̂t|t−1 − βt . Por lo tanto
−1 0 0
β̂t = β̂t|t−1 + (Pt|t−1 + Xt Σ−1 Xt )−1 Xt Σ−1 (Yt − Xt β̂t|t−1 )
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 14 / 15
Lema: Sean A, B, y D be matrices de apropiados ordenes tal que A−1 y
D −1 existen. (B puede ser un vector). Entonces
0 0 0
(A + BDB )−1 = A−1 − A−1 B(B A−1 B + D −1 )−1 B A−1 .
Por lo tanto, el estimador será
0
β̂t = β̂t|t−1 + Pt|t−1 Xt Ft−1 (Yt − Xt β̂t|t−1 )
El predictor actualizado es el predictor del punto de tiempo anterior mas
un factor de corrección basado en la magnitud de Yt − Yt|t−1 y su
varianza Ft (parecido al caso de exponential smoothing).
Obsevación: Pt ≤ Pt|t−1 .
José J. Cerda-Hernández (Department of Statistics)
Modelo de espacio de estados Filtro de Kalman August 9, 2020 15 / 15