칼만 필터 Kalman filter는 충분히 성숙한 방법이다. 시계열로 부터 새로운 정보를 결합하는 데 사용되고 과거에 알려진 내부 상태 추정 정보를 지능적으로 결합해 준다. 칼만 필터의 최초 사용 사례로는 아폴로 11호 apollo 11 mission 이 있다.
아폴로 칼만필터 |
NASA 엔지니어들은 기내의 계산 자원만으로는 매우 메모리 집약적인 위치추정 기법 사용이 불가능하다는 판단을 내렸다. 이 상황에서 킬만 필터 기법이 대신 선택되었다. 계산이 비교적 간단하고, 미래의 예측이나 현재를 추정하는 데 과거 데이터의 저장이 필요없다는 것은 칼만 필터의 장점이다.
칼만필터를 처음 접한다면 칼만 필터의 계산과정을 보고 놀랄지도 모른다. 특별히 어려워서라기 보다는 꽤 많은 양의 추적이 필요하기 때문이다. 순환적인 반복성을 띈 구조는 추적을 더 어렵게 만든다. 다행히 여기에서는 칼만 필터 공식의 도출 과정을 다루지 않는다. 대신에 동작 방식의 감을 잡기 위해서 관련 공식을 높은 수준에서 바라보고 이해하는 시간을 가져 볼 것이다.
상태 및 관측이 다음과 같은 역동성을 가진다고 상정하는 선형 가우스 모델 linear Gaussian model로 시작 한다.
$ x_t = F × x_{t-1} + B × μ_t + w_t$
$ y_t = A × x_t + v_t$
즉 시간 t 에서의 상태는 이전 시간 단계의 상태항 ($ F × x_{t-1}$), 외부 압력에 대한 항 ($B×μ_t$),의 확률적 항 ($w_t$)에 대한 함수로 표현 할 수 있다. 이와 유사하게 시간 t에서의 측정은 시간 t 의 상태, 확률적 오차항, 측정 오차항에 대한 함수이다.
$x_t$가 우주선의 실제 위치를 나타내고, $y_t$는 센서로 측정한 위치라고 상상해보자. 이때 $v_t$는 센서장치 (또는 그 외 여러 장치 )의 측정 오차를 의미한다. 그러면 칼만 필터에 적용 가능한 기본 공식은 다음과 같다. 시간 t에서 새로운 정보가 주어졌을 때 추정을 갱신하는 방법을 보어 준다.
$ \hat{x}_t = K_t × y +(1-K_t) × \hat{x}_{t-1}$
이는 필터링 단계를 보여 준다. 즉 시간 t의 상태에 대한 추정 갱신 시간 t의 측정을 사용하는 것이다. 한 가지 기억해 둬야 할 사실은 $y_t$만 관측 가능하며 정확한 상태는 모른 채 상태를 추론 했다는 상황을 상정 했다는 것이다. 그리고 위 식 $K_t$는 새로는 정보 $(y_t)$와 과거 정보 $(\hat{x}_{t-1})$ 사이의 추정에 대한 균형을 맞추는 데 사용된 것을 알 수 있다.
모델의 동작 방식을 좀 더 깊게 살펴 보려면 몇 가지 항을 정의 해야 한다. 상태의 공분산 추정은 $P_t$로 표현해 보자 (상태가 단변량인지, 다변량인지에 따라 스칼라 또는 행렬이 될 수 있으며 대체로 다변량이 일반적이다. ) 그리고 $P_t$는 시간 t에서의 측정이 고려되기 전의 추정이다.
측정 오차의 분산을 R로 표현해 보자. 즉 $v_t$에 대한 분산이 되는 것이다. (마찬가지로 측정의 차원에 따라 스칼라나 공분산 행렬이 될 수 있다.) 특정 센서나 측정 장치의 잘 알려진 물리적 속성을 묘사하는 R은 일반적으로 꽤 잘 정의 되어 있다. $w_t$의 적절한 값인 Q는 R과는 다르게 명확하지 않으며 모델링 시 조정이 필요하다.
그러면 시간 0에서 이미 알고 있는 x와 추정된 P로 구성된 과정으로 시작한다. 그리고 나서 시간 0에서 시간 뒤로 움직이며 예측과 갱신을 반복한다. 먼저 예측 단계가 발생한 다음 갱신/필터링 단계가 실행 된다. 이 순서를 계속 반복 한다.
예측
이 반복 과정을 표현한 여러 시각화 자료를 찾아볼 수 있다. 그 중 일부는 이 과정을 4단계에서 5단계까지 여러 단계로 세분화 하기도 한다. 하지만 이 과정을 가장 간단하게 바라보는 방법은 다음과 같다. 측정 $Y_t$에 대한 내용을 알지 못한 채 시간 t에서 예측에 수행된 계산(예측), $y_t$를 알게 된 이후 시간 t에서 수행된 단계가 있다는 것이다.
이 과정을 시작하기 위해서는 다음과 같은 값들이 필요하다.
- (쉽게 알 수 있는) 측정의 오차와 상태의 확률성 (보통 추정됨)의 공분산 행렬인 R과 Q의 추정치
- 시간 0에서 이미 알고 있거나 추정된 상태값 $ \hat{x}_0$ ( $y_0$ 에 기반하여 추정됨)
- 시간 t에 적용될 압력에 대한 사전 지식과 그 압력이 상태에 어떤 영향을 미칠 것인가를 나타내는 행렬 B 또는 값 $μ_t$
- 시간 단계에 따른 상태의 변화를 결정짓는 시스템의 역동성에 대한 지식 F
- 측정이 상태에 의존하는 방식에 대한 지식 A
확률론적 관점의 기대 값, 최소제곱 최소화 문제, 최대우도 추정 문제 등 칼만 필터의 공식은 여러 방법으로 도출 할 수 있다. 공식 도출 과정은 인터넷에서 쉽게 찾아볼 수 있으므로 좀 더 깊게 배워보고 싶다면 검색해보길 바란다.
# 참고서적 : 실전 시계열 분석 - 한빛 미디어
댓글 없음:
댓글 쓰기