파티클 필터

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

파티클 필터(영어: Particle filter)는 시뮬레이션에 기반을 둔 예측기술의 하나로 계속적인 몬테카를로 방법이라고도 한다. 파티클 필터는 계량경제학에서 중요하게 쓰인다.

파티클 필터는 보통 베이즈 모델을 추정하기 위해 사용된다. 이는 잠재변수마르코프 연쇄로 서로 관련되어 있는 경우로 은닉 마르코프 모델(HMM)과 비슷하지만 보통 드러나지 않은 변수의 상태 공간이 연속적이고, 정확하게 추정할 수 있을 만큼 한정적이지 않다. 예를 들어, 선형 동적 시스템에서는, 잠재변수의 상태 공간이 가우스 분포에 한정되는데, 따라서 정확한 추정이 효과적으로 칼만 필터만으로 이루어질 수 있다. HMM, 그리고 관련된 모델의 맥락에서 보면, 필터링은 어떤 특정 시간에 잠재변수의 분포[1]를 결정하되, 관측 값은 그 시간 까지만 주어진다; 파티클 필터라는 이름을 얻게된 까닭은 근사값을 (아까 말한 의미에서) "필터링"하는데 한 무리의 (다른 가중치를 가진 분포의 예) "입자"를 사용하기 때문이다.

파티클 필터는 마르코프 연쇄 몬테 카를로(MCMC) 일괄처리법을 순차적으로 유사하게 만든 것으로 때로 임포턴스 샘플링법과 유사하다. 입자 필터를 잘 만들면 MCMC보다 훨씬 빠르다. 때때로 확장 칼만 필터(EKF) 또는 무향 칼만 필터(UKF) 대신 사용된다. EKF나 UKF에 비해 잇점은, 샘플이 충분하다면, 배이지언 최적 추정치에 접근하므로 EKF나 UKF보다 정확하다. 그러나, 샘플의 수가 충분하지 않다면 문제가 생길 수 있다. 파티클 필터와 칼만 필터를 복합하여 사용할 수도 있는데, 일종의 칼만 필터를 사용하여 파티클 필터를 위한 분포를 제안하게 하는 방식이다.

목적[편집]

파티클 필터의 목적은 연속적으로 들어오는 정보를 오차가 존재하는 관측값만을 가지고 정보를 예측하는 데에 있다.

원리[편집]

파티클 필터의 동작원리는 매우 간단하다. 시스템에 적절하게 제안된 확률분포로 임의로 생성된 입력을 여럿 가하여보고 그것들을 종합하여 시스템의 정보를 추측하는 것이다. 어떠한 비선형 시스템이 있을 때(선형시스템에서는 Kalman Filter만으로도 최적추정이 가능하다.) 비선형시스템 내부의 상태변수벡터 x의 값을 시스템 밖에서 측정할 수 있는 변수벡터 z를 가지고 추정하고자 할 때에, Kalman Filter의 변형된 형태인 Extended Kalman Filter(EKF)나 Unscented Kalman Filter(UKF)를 사용할 수도 있지만, EKF는 종종 추정치가 발산할 수 있고, UKF는 발산할 경우는 매우 적지만 Gaussian distribution에 한해서 사용될 수 있다. 반면 Particle Filter는 Bayesian 확률이론을 근거로 비선형 비가우시안 시스템에도 적용될 수 있다.

Particle filter의 동작방식은 Kalman Filter의 'Prediction' - 'Correction'의 과정으로 이루어진다. (물론 초기의 Initial Guess와 Particle의 초기화가 필요하다.) N(통상적으로100~10000)개의 초기상태추정값(벡터)들(이것을 particle들이라고 부른다.)을 난수발생으로 만들고 필터링 과정을 시작한다.

Prediction

  시스템 방정식에 의해 모든(N개의)Particle들의 상태를 변경한다.
  xp(n) = f(x(n-1),u(n-1),v(n)), zp(n)= h(x(n),w(n))

Correction

  측정값 z가 들어오면 zp값과의 오차에 대하여 likelihood를 계산하여 그 값을 각 particle들의 가중치로 둔다.
  (가중치의 합이 '1'이 되도록 Normalize해 주어야 한다.)
  N개의 particle에서 임의로(난수사용) 중복을 허용하여 N개의 particle들을 다시 고른다. 이 과정을 Resampling이라 부른다.
  (particle들이 측정값에 가까운 particle들이 더 자주 뽑히도록 해 주어야 한다.)
  Resampling된 Particle들의 산술평균이 상태변수벡터 x의 추정치가 된다.

각주[편집]

  1. 값 또는 가능한 값의 분포라 생각 수도 있다.