다운로드
작성자: admin 작성일시: 2016-05-20 16:19:42 조회수: 1388 다운로드: 269
카테고리: 시계열 분석 태그목록:

칼만 필터 공식의 유도

칼만 필터 공식

동적 선형 모형

$$ \begin{eqnarray} x_{t} &=& \Phi_t x_{t-1} &+& w_t &,\;\;\; & w_t \sim \mathcal{N}(0, W_t)\\ y_{t} &=& A_t x_{t} &+& v_t &,\;\;\; & v_t \sim \mathcal{N}(0, V_t) \\ \end{eqnarray} $$

초기 상태 분포

$$ x_{t-1} \sim \mathcal{N}(m_{t-1}, C_{t-1}) $$

상태 예측

$a_t$는 $y_1, \ldots, y_{t-1}$ 에 대한 $x_t$ 의 조건부 기댓값 (예측값)

$$ a_t = \text{E}[ x_t \mid y_1, \ldots, y_{t-1} ] $$

$R_t$는 $y_1, \ldots, y_{t-1}$ 에 대한 $x_t$ 의 조건부 분산 행렬

$$ R_t = \text{Var}[ x_t \mid y_1, \ldots, y_{t-1} ] $$
$$ a_t = \Phi_t m_{t-1} $$$$ R_t = \Phi_t C_{t-1} \Phi_t^T m_{t-1} + W_t $$

출력 예측

$f_t$는 $y_1, \ldots, y_{t-1}$ 에 대한 $y_t$ 의 조건부 기댓값 (예측값)

$$ y_t = \text{E}[ y_t \mid y_1, \ldots, y_{t-1} ] $$

$Q_t$는 $y_1, \ldots, y_{t-1}$ 에 대한 $y_t$ 의 조건부 분산 행렬

$$ Q_t = \text{Var}[ y_t \mid y_1, \ldots, y_{t-1} ] $$
$$ f_t = A_t a_{t} $$$$ Q_t = A_t R_{t} A_t^T + V_t $$

상태 보정

$e_t$는 출력 오차 $$ e_t = y_t - f_t $$

$$ m_t = a_{t} + R_t A_t^T Q_t^{-1} e_t $$$$ C_t = R_{t} - R_t A_t^T Q_t^{-1} A_t R_t $$

증명

동적 선형 모형의 확률 변수 $x_0, x_1, \ldots, x_t, Y_1, \ldots, Y_t$ 는 다음 조건을 만족한다.

  1. $x_t$는 $x_{t-1}$에만 의존하며 $x_0, x_1, \ldots, x_{t-2}$와 독립이다.
  2. $Y_t$는 $x_{t}$에만 의존하며 다른 모든 확률 변수와 $x_{t}$-조건부 독립이다.(independent conditional to $x_t$)

가우시안 정규 분포 증명

이 때 전체 확률 변수 의 결합 확률 분포는 다음과 같다.

$$ \begin{eqnarray} p(x_0, x_1, \ldots, x_t, y_1, \ldots, y_t) &=& p(y_1, \ldots, y_t \mid x_0, x_1, \ldots, x_t) \; p(x_0, x_1, \ldots, x_t) \\ &=& \left( \prod_{j=1}^t p(y_j \mid x_0, x_1, \ldots, x_t) \right) \; \left( p(x_0) \prod_{j=1}^t p(x_j \mid x_0, \ldots, x_{j-1}) \right) \\ &=& \left( \prod_{j=1}^t p(y_j \mid x_j ) \right) \; \left( p(x_0) \prod_{j=1}^t p(x_j \mid x_{j-1}) \right) \\ &=& p(x_0) \prod_{j=1}^t p(x_j \mid x_{j-1}) \; p(y_j \mid x_j ) \\ \end{eqnarray} $$

$p(x_0), p(x_j \mid x_{j-1}), p(y_j \mid x_j )$ 이 모두 가우시안 정규 분포이므로 곱한 결과도 가우시안 정규 분포

상태 예측식 증명

iterated expectation 에서

$$ \begin{eqnarray} a_t &=& \text{E} [ x_t \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ \text{E} [x_t \mid x_{t-1}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ \Phi_t x_{t-1} \mid y_1, \ldots, y_{t-1} ] \\ &=& \Phi_t \text{E} [ x_{t-1} \mid y_1, \ldots, y_{t-1} ] \\ &=& \Phi_t m_{t-1} \\ \end{eqnarray} $$

law of total variance 에서

$$ \begin{eqnarray} R_t &=& \text{Var} [ x_t \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ \text{Var} [x_t \mid x_{t-1}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] + \text{Var} [ \text{E} [x_t \mid x_{t-1}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] \\ &=& W_t + \Phi_t C_{t-1} \Phi_t^T \end{eqnarray} $$

출력 예측식 증명

iterated expectation 에서

$$ \begin{eqnarray} f_t &=& \text{E} [ y_t \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ \text{E} [y_t \mid x_{t}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ A_t x_{t} \mid y_1, \ldots, y_{t-1} ] \\ &=& A_t \text{E} [ x_{t} \mid y_1, \ldots, y_{t-1} ] \\ &=& A_t a_{t} \\ \end{eqnarray} $$

law of total variance 에서

$$ \begin{eqnarray} Q_t &=& \text{Var} [ y_t \mid y_1, \ldots, y_{t-1} ] \\ &=& \text{E} [ \text{Var} [y_t \mid x_{t}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] + \text{Var} [ \text{E} [y_t \mid x_{t}, y_1, \ldots, y_{t-1}] \mid y_1, \ldots, y_{t-1} ] \\ &=& V_t + A_t R_{t} A_t^T \end{eqnarray} $$

출력 보정식 증명

출력 $y_t$가 존재하게 되었다는 것은

다음과 같은 선형 회귀 문제를 사전 분포가 $\mathcal{N}(a_t, R_t)$라고 가정하고 베이지안 추정법으로 푸는 것과 같다.

$$ y_t = A_t x_t + v_t $$

이 문제의 해답은 다음과 같다.

$$ \begin{eqnarray} m_t &=& a_{t-1} + R_t A_t^T (A_tR_tA_t^T + V)^{-1} (y_t - A_t a_t) \\ &=& a_{t-1} + R_t A_t^T Q_t^{-1} e_t \\ \end{eqnarray} $$
$$ \begin{eqnarray} C_t &=& R_t + R_t A_t^T (A_tR_tA_t^T + V)^{-1} A_t R_t \\ &=& R_t + R_t A_t^T Q_t^{-1} A_t R_t \\ \end{eqnarray} $$

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!