상태공간모형(State-Space Model, 이하 SSM)은 Markov chain을 기반으로 하는 시계열 모형의 일종이지만, 실제 관측가능한 observation 데이터와 hidden state data가 결합하여 만들어진다.
Definition
상태공간모형은 다음과 같이 정의된다. 각 t 시점에서는 세 종류의 벡터가 주어지는데, 먼저 벡터 xt∈Rp 는 각 시점의 hidden state vector로, 관측할 수 없다. 반면 yt∈Rp 와 ut∈Rr 는 각각 observation vector, exogenous vector(외생변수)로 이들은 관측가능한 데이터로 주어진다. 이때 다음과 같은 관계식으로 주어지는 모형을 상태공간모형이라고 한다.
{xt=Φxt−1+γut+wtyt=Atxt+Γut+vt
여기서 noise vector wt,vt 는 각각 정규분포 Np(0,Q),Nq(0,R) 을 따르며 각각 독립이다. 이러한 정규성 가정(Gaussian assumption)은 상태공간모형에서 매우 중요하다.
Kalman Filter
Filtering
SSM 사용의 주된 목적은 주어진 관측가능한 데이터 Ys={y1,…,ys} 를 바탕으로 underlying, unobserved signal xt 를 추정하는 것이다. 이때 각 index s,t 의 관계에 따라
s<t:forecastings=t:filterings>t:smoothing
각 추정 과정에 대해 위와 같은 명칭을 사용한다.
Definition
Kalman Filter의 전개 과정에서 prediction, expectation error는 다음과 같이 정의된다.
xts=E[xt∣Ys]Pt1,t2s=E[(xt1−xt1s)(xt2−xt2s)]
이때 위 정의들에서 기댓값 연산을 선형공간 span(Ys) 으로의 정사영 연산으로 볼 수 있는데, 이 경우 Pts를 projection의 MSE로 볼 수도 있다.
Definition of Kalman Filter
State-Space Model(위 정의와 동일)
xt=Φxt−1+γut+wtyt=Atxt+Γut+vt
에 대해 초기조건
x00=E[x0∣Y0]=μ0P00=Σ0
이 주어진다고 하자. 그러면 위 모형에 대한 Kalman Filter는 다음과 같이 주어진다.
Fort=1,…,n,{xtt−1=Φxt−1t−1+γutPtt−1=ΦPt−1t−1ΦT+Q
with{xtt=xtt−1+Kt(yt−Atxtt−1−ΓutPtt=[I−KtAt]Ptt−1
whereKt=Ptt−1AtT[AtPtt−1AtT+R]−1
즉, 여기서 Kalman filter란 관측불가능한 underlying signal xt 들을 재귀적인(recursive) 방법으로 추정하는 과정을 의미한다. 이 과정에서 다음과 같이 부가적인 정의를 생성하는데, 각각 예측오차(prediction error)와 예측오차의 분산이다.
{ϵt=yt−E[yt∣Yt−1]=yt−Atxtt−1−ΓutVar(ϵt)=AtPtt−1AtT+R=Σt
Proof of Kalman Filter
우선 SSM의 xt=Φxt−1+γut+wt 로부터,
xtt−1=E[xt∣Yt−1]=E[Φxt−1+γut+wt∣Yt−1]=Φxt−1+γut
이고, 이와 유사하게
Ptt−1=E[(xt−xtt−1)(xt−xtt−1)T]=ΦPt−1t−1ΦT+Q
임을 보일 수 있다.
또한, t시점에서의 오차는 이전 시점까지의 데이터셋과 orthogonal, 즉 E[ϵtysT]=0 이고
Cov(xt,ϵt∣Yt−1)=Ptt−1AtT
가 성립하므로, t−1 시점까지 관측치 Yt−1 이 주어졌을 때 위 상태벡터와 오차벡터의 결합분포는 다음과 같다.
(xtϵt)∣Yt−1∼N((xtt−10),(Ptt−1AtPtt−1Ptt−1AtTΣt))
이때 xtt=E[xt∣Yt]=E[xt∣Yt−1,ϵt] 이므로 정규분포의 marginal distribution 공식을 이용하면 다음과 같이 유도할 수 있다.
xtt=xtt−1+Ptt−1AtTΣ−1=xtt−1+Ptt−1AtT(AtPtt−1AtT+R)−1
References
- Time Series Analysis with its applications