상태공간모형(State-Space Model, 이하 SSM)은 Markov chain을 기반으로 하는 시계열 모형의 일종이지만, 실제 관측가능한 observation 데이터와 hidden state data가 결합하여 만들어진다.
Definition
상태공간모형은 다음과 같이 정의된다. 각 t 시점에서는 세 종류의 벡터가 주어지는데, 먼저 벡터 x t ∈ R p \mathbf{x}_t \in \mathbb{R}^p x t ∈ R p 는 각 시점의 hidden state vector로, 관측할 수 없다. 반면 y t ∈ R p \mathbf{y}_{t}\in \mathbb{R}^{p} y t ∈ R p 와 u t ∈ R r \mathbf{u}_{t}\in\mathbb{R}^{r} u t ∈ R r 는 각각 observation vector, exogenous vector(외생변수)로 이들은 관측가능한 데이터로 주어진다. 이때 다음과 같은 관계식으로 주어지는 모형을 상태공간모형 이라고 한다.
{ x t = Φ x t − 1 + γ u t + w t y t = A t x t + Γ u t + v t
\begin{cases}
\mathbf{x}_{t} = \Phi\mathbf{x}_{t-1}+\gamma \mathbf{u}_{t}+w_{t}\\
\mathbf{y}_{t} = A_{t}\mathbf{x}_{t}+\Gamma\mathbf{u}_{t}+ v_{t}
\end{cases}
{ x t = Φ x t − 1 + γ u t + w t y t = A t x t + Γ u t + v t
여기서 noise vector w t , v t w_{t}, v_{t} w t , v t 는 각각 정규분포 N p ( 0 , Q ) , N q ( 0 , R ) N_{p}(0,Q), N_q(0,R) N p ( 0 , Q ) , N q ( 0 , R ) 을 따르며 각각 독립이다. 이러한 정규성 가정 (Gaussian assumption)은 상태공간모형에서 매우 중요하다.
Kalman Filter
Filtering
SSM 사용의 주된 목적은 주어진 관측가능한 데이터 Y s = { y 1 , … , y s } Y_{s}=\lbrace \mathbf{y}_{1},\ldots,\mathbf{y}_{s}\rbrace Y s = { y 1 , … , y s } 를 바탕으로 underlying, unobserved signal x t \mathbf{x}_{t} x t 를 추정하는 것이다. 이때 각 index s , t s,t s , t 의 관계에 따라
s < t : forecasting s = t : filtering s > t : smoothing
\begin{aligned}
& s<t : \text{forecasting}\\
& s=t : \text{filtering}\\
& s>t : \text{smoothing}
\end{aligned}
s < t : forecasting s = t : filtering s > t : smoothing
각 추정 과정에 대해 위와 같은 명칭을 사용한다.
Definition
Kalman Filter의 전개 과정에서 prediction, expectation error는 다음과 같이 정의된다.
x t s = E [ x t ∣ Y s ] P t 1 , t 2 s = E [ ( x t 1 − x t 1 s ) ( x t 2 − x t 2 s ) ]
\begin{aligned}
&\mathbf{x}_{t}^{s}=\mathbf{E}[\mathbf{x}_t\vert Y_s]\\
&P_{t_{1},t_{2}}^{s}=\mathbf{E}[(\mathbf{x}_{t_{1}}-\mathbf{x}_{t_{1}}^{s})(\mathbf{x_{t_{2}}}-\mathbf{x}_{t_{2}}^{s})]
\end{aligned}
x t s = E [ x t ∣ Y s ] P t 1 , t 2 s = E [( x t 1 − x t 1 s ) ( x t 2 − x t 2 s )]
이때 위 정의들에서 기댓값 연산을 선형공간 span ( Y s ) \text{span}(Y_s) span ( Y s ) 으로의 정사영 연산으로 볼 수 있는데, 이 경우 P t s P_{t}^{s} P t s 를 projection의 MSE로 볼 수도 있다.
Definition of Kalman Filter
State-Space Model(위 정의와 동일 )
x t = Φ x t − 1 + γ u t + w t y t = A t x t + Γ u t + v t
\begin{aligned}
&\mathbf{x}_{t} = \Phi\mathbf{x}_{t-1}+\gamma \mathbf{u}_{t} + w_{t}\\
&\mathbf{y}_{t}= A_{t}\mathbf{x}_{t}+\Gamma\mathbf{u}_{t}+v_{t}
\end{aligned}
x t = Φ x t − 1 + γ u t + w t y t = A t x t + Γ u t + v t
에 대해 초기조건
x 0 0 = E [ x 0 ∣ Y 0 ] = μ 0 P 0 0 = Σ 0
\begin{aligned}
& \mathbf{x}_{0}^{0}=\mathbf{E}[\mathbf{x}_0\vert Y_{0}]=\mu_0\\
& P_{0}^{0}=\Sigma_0
\end{aligned}
x 0 0 = E [ x 0 ∣ Y 0 ] = μ 0 P 0 0 = Σ 0
이 주어진다고 하자. 그러면 위 모형에 대한 Kalman Filter 는 다음과 같이 주어진다.
For t = 1 , … , n , { x t t − 1 = Φ x t − 1 t − 1 + γ u t P t t − 1 = Φ P t − 1 t − 1 Φ T + Q
\text{For}\;\; t=1,\ldots,n,\;\;
\begin{cases}
\mathbf{x}_{t}^{t-1}=\Phi\mathbf{x}_{t-1}^{t-1}+\gamma\mathbf{u}_t \\
P_t^{t-1}=\Phi P_{t-1}^{t-1}\Phi^T+Q
\end{cases}
For t = 1 , … , n , { x t t − 1 = Φ x t − 1 t − 1 + γ u t P t t − 1 = Φ P t − 1 t − 1 Φ T + Q
with { x t t = x t t − 1 + K t ( y t − A t x t t − 1 − Γ u t P t t = [ I − K t A t ] P t t − 1
\text{with}\;\;\begin{cases}
\mathbf{x}_{t}^{t}=\mathbf{x}_{t}^{t-1}+K_{t}(\mathbf{y}_{t}-A_{t}\mathbf{x}_{t}^{t-1}-\Gamma\mathbf{u}_{t} \\
\\
P_{t}^{t}=[I-K_{t}A_{t}]P_{t}^{t-1}
\end{cases}
with ⎩ ⎨ ⎧ x t t = x t t − 1 + K t ( y t − A t x t t − 1 − Γ u t P t t = [ I − K t A t ] P t t − 1
where K t = P t t − 1 A t T [ A t P t t − 1 A t T + R ] − 1
\text{where}\;\;K_{t}=P_{t}^{t-1}A_{t}^{T}[A_{t}P_{t}^{t-1}A_{t}^{T}+R]^{-1}
where K t = P t t − 1 A t T [ A t P t t − 1 A t T + R ] − 1
즉, 여기서 Kalman filter란 관측불가능한 underlying signal x t \mathbf{x}_{t} x t 들을 재귀적인(recursive) 방법으로 추정하는 과정을 의미한다. 이 과정에서 다음과 같이 부가적인 정의를 생성하는데, 각각 예측오차(prediction error)와 예측오차의 분산이다.
{ ϵ t = y t − E [ y t ∣ Y t − 1 ] = y t − A t x t t − 1 − Γ u t Var ( ϵ t ) = A t P t t − 1 A t T + R = Σ t
\begin{cases}
\epsilon_{t}=\mathbf{y}_{t}-\mathbf{E}[\mathbf{y}_{t}\vert Y_{t-1}]=\mathbf{y}_{t}-A_{t}\mathbf{x}_{t}^{t-1}-\Gamma\mathbf{u}_{t}\\
\\
\text{Var}(\epsilon_{t})= A_{t}P_{t}^{t-1}A_{t}^{T}+R = \Sigma_{t}
\end{cases}
⎩ ⎨ ⎧ ϵ t = y t − E [ y t ∣ Y t − 1 ] = y t − A t x t t − 1 − Γ u t Var ( ϵ t ) = A t P t t − 1 A t T + R = Σ t
Proof of Kalman Filter
우선 SSM의 x t = Φ x t − 1 + γ u t + w t \mathbf{x}_{t}=\Phi\mathbf{x}_{t-1}+\gamma\mathbf{u}_{t}+w_{t} x t = Φ x t − 1 + γ u t + w t 로부터,
x t t − 1 = E [ x t ∣ Y t − 1 ] = E [ Φ x t − 1 + γ u t + w t ∣ Y t − 1 ] = Φ x t − 1 + γ u t
\begin{aligned}
\mathbf{x}_{t}^{t-1} &= E[\mathbf{x}_{t}\vert Y_{t-1}]\\
&= E[\Phi\mathbf{x}_{t-1}+\gamma\mathbf{u}_{t}+w_{t}\vert Y_{t-1}]\\
&= \Phi\mathbf{x}_{t-1}+\gamma\mathbf{u}_{t}
\end{aligned}
x t t − 1 = E [ x t ∣ Y t − 1 ] = E [ Φ x t − 1 + γ u t + w t ∣ Y t − 1 ] = Φ x t − 1 + γ u t
이고, 이와 유사하게
P t t − 1 = E [ ( x t − x t t − 1 ) ( x t − x t t − 1 ) T ] = Φ P t − 1 t − 1 Φ T + Q
\begin{aligned}
P_{t}^{t-1} &= E[(\mathbf{x}_{t}-\mathbf{x}_{t}^{t-1})(\mathbf{x}_{t}-\mathbf{x}_{t}^{t-1})^{T}]\\
&= \Phi P_{t-1}^{t-1}\Phi ^{T}+Q
\end{aligned}
P t t − 1 = E [( x t − x t t − 1 ) ( x t − x t t − 1 ) T ] = Φ P t − 1 t − 1 Φ T + Q
임을 보일 수 있다.
또한, t시점에서의 오차는 이전 시점까지의 데이터셋과 orthogonal, 즉 E [ ϵ t y s T ] = 0 E[\epsilon_{t}\mathbf{y}_{s}^{T}]=0 E [ ϵ t y s T ] = 0 이고
C o v ( x t , ϵ t ∣ Y t − 1 ) = P t t − 1 A t T
\mathrm{Cov}(\mathbf{x}_{t},\epsilon_{t}\vert Y_{t-1})=P_{t}^{t-1}A_{t}^{T}
Cov ( x t , ϵ t ∣ Y t − 1 ) = P t t − 1 A t T
가 성립하므로, t − 1 t-1 t − 1 시점까지 관측치 Y t − 1 Y_{t-1} Y t − 1 이 주어졌을 때 위 상태벡터와 오차벡터의 결합분포는 다음과 같다.
( x t ϵ t ) ∣ Y t − 1 ∼ N ( ( x t t − 1 0 ) , ( P t t − 1 P t t − 1 A t T A t P t t − 1 Σ t ) )
\begin{pmatrix} \mathbf{x}_{t}\\ \epsilon_{t} \end{pmatrix}
\vert Y_{t-1}
\sim
\mathrm{N}\biggl(\begin{pmatrix}\mathbf{x}_{t}^{t-1}\\0\end{pmatrix},
\begin{pmatrix}P_{t}^{t-1}& P_{t}^{t-1}A_{t}^{T}\\A_{t}P_{t}^{t-1}&\Sigma_{t}\end{pmatrix}\biggr)
( x t ϵ t ) ∣ Y t − 1 ∼ N ( ( x t t − 1 0 ) , ( P t t − 1 A t P t t − 1 P t t − 1 A t T Σ t ) )
이때 x t t = E [ x t ∣ Y t ] = E [ x t ∣ Y t − 1 , ϵ t ] \mathbf{x}_{t}^{t} = \mathrm{E}[\mathbf{x}_{t}\vert Y_{t}] = \mathrm{E}[\mathbf{x}_{t}\vert Y_{t-1},\epsilon_{t}] x t t = E [ x t ∣ Y t ] = E [ x t ∣ Y t − 1 , ϵ t ] 이므로 정규분포의 marginal distribution 공식을 이용하면 다음과 같이 유도할 수 있다.
x t t = x t t − 1 + P t t − 1 A t T Σ − 1 = x t t − 1 + P t t − 1 A t T ( A t P t t − 1 A t T + R ) − 1
\begin{aligned}
\mathbf{x}_{t}^{t}&= \mathbf{x}_{t}^{t-1}+P_{t}^{t-1}A_{t}^{T}\Sigma^{-1}\\
&= \mathbf{x}_{t}^{t-1}+P_{t}^{t-1}A_{t}^{T}(A_{t}P_{t}^{t-1}A_{t}^{T}+R)^{-1}
\end{aligned}
x t t = x t t − 1 + P t t − 1 A t T Σ − 1 = x t t − 1 + P t t − 1 A t T ( A t P t t − 1 A t T + R ) − 1
References
Time Series Analysis with its applications