상태공간 모델

실제 상태를 직접 측정할 수 없으며 측정된 것으로부터 추론하는 것만 가능

예시) 공격적으로 차선 변경을 시도하는 운전자 발견 -> 어느 차선으로 진로를 변경하는지 추측(수 초, 수 분 간의 고나찰을 통해 상태공간 모델 갱신)

 

키워드

선형 가우스 모델에 적용된 칼만 필터, 은닉 마르코프 모형, 베이즈 구조적 시계열

 

관측에 기반한 근본 상태를 추적하는 작업

필터링 : 시간 t의 상태에 대한 추정 갱신에 시간 t의 측정 사용 (상태에 대한 추정의 갱신에 가장 최근 정보에 가중치를 부여하는 방식)

예측 : 시간 t의 예상되는 상태에 대한 예측 생성에 시간 t-1의 측정을 사용(시간 t의 예상되는 측정의 추론도 가능, 미래에 대한 어떠한 정보도 없이 미래 상태 예측)

평활화 : 시간 t의 참 상태 추정에 시간 t 및 t의 전후 측정 사용(미래와 과거 정보 모두 사용해서 특정 시간에서의 상태 추정)


7.1 상태공간 모델의 장단점

장점

1) 노이즈가 낀 데이터 자체보다, 노이즈한 데이터의 생성 과정과 상태 모델링 (과정의 생성을 설명할 수 있는 인과관계 모델을 모델링 단계에 주입함으로써, 동작 방식에 대한 신뢰성 있는 지식이나 탄탄한 이론을 갖고 있는 경우 유용함)

2) 익숙한 시스템의 역동성을 파악하는 데 유용

3) 시간에 따른 상관계수 및 파라미터 변화 허용

4) 데이터에 정상성이라는 조건 부여 X

단점

1) 너무 유연해서 수많은 파라미터 설정 가능 -> 수많은 종류의 상태공간 모델 가능

2) 수많은 파라미터로 매우 많은 계산량

3) 과적합에 취약(데이터가 적을 시)


7.2 칼만 필터

시계열로부터 새로운 정보를 결합하고, 과거에 알려진 내부 상태 추정 정보를 지능적으로 결합해준다. 계산이 비교적 간단하고, 미래 예측이나 현재를 추정하는 데 과거 데이터의 저장이 필요 없다는 것이 장점

7.2.1 개요

상태 및 관측이 다음과 같은 역동성을 가진다고 상정하는 선형 가우스 모델로 시작한다. (아래 수식)

F * xt-1 : 시간 T에서의 이전 시간 단계의 상태 항

B* ut : 외부압력에 대한 항

wt : 확률적 항

xt가 우주선의 실제 위치, yt를 센서로 측정한 위치라고 가정해보자. vt는 센서장지의 측정 오차를 의미하고, 칼만 필터에 적용 가능한 기본 공식은 다음과 같다.

필터링 단계로, 시간 t에서 새로운 정보가 주어졌을 때 추정을 갱신하는 방법이다. 여기서 yt만 관측 가능하며, 정확한 상태는 모른 채 상태를 추론했다는 상황을 상정했다는 것이 중요하다. Kt는 새로운 정보(yt)와 과거 정보(x^)사이의 추정에 대한 균형을 맞추는 데 사용된다.

몇 가지 항을 추가로 정의하자면

Pt : 공분산 추정 (시간 t에서 측정이 고려되기 전 추정)

R : 측정 오차의 분산 (vt에 대한 분산)

Q : wt의 적절한 값으로 명확하지 않다. (모델링 시 조정 필요)

시간 0에서 시간 뒤로 움직이며 예측과 갱신을 반복한다. 예측 -> 갱신/필터링 단계의 순서를 반복한다.

Kalman gain 수식

여기서 중요한 점은 측정 yt에 대한 내용을 알지못한 채 시간 t에서의 예측에 수행된 계산(예측), yt를 알게 된 이후 시간 t에서의 수행 단계가 있다는 것이다.

다음과 같은 값들이 필요하다.

- 측정 오차와 상태의 확률성의 공분산 행렬인 R, Q의 추정치

- 시간 0에서 이미 알고 있거나 추정된 상태 값 x^0(y0에 기반하여 추정됨)

- 시간 t에 적용될 압력에 대한 사정 지식과, 압력이 상태에 어떤 영향을 미칠것인가 나타내는 행렬 B or 값 ut

- 시간 단계에 따른 상태 변화를 결정짓는 시스템의 역동성에 대한 지식 F

- 측정이 상태에 의존하는 방식에 대한 지식 A

칼만 필터 공식은 확률론적 관점의 기댓값, 최소제곱 최소화 문제, 최대우도 추정 문제 등 여러 방법으로 도출할 수 있다.


7.2.2 코드로 표현한 칼만 필터

뉴턴 역학을 따르는 물체를 추정하는 예를 살펴보자 (물체의 움직임은 연속성을 갖지만, 측정은 이산적으로 분리된다). 가속에 대한 계열을 정하고, 위치와 속도는 0에서 시작한다고 가정해보자. 각 시간 단계의 시작점에서 순간 가속도가 변하고, 다시 변하기 전까지는 지속적인 값을 가진다고 상정해보자.

그 다음 간단히 그래프를 그려 가속도에 대한 움직임을 볼 수 있다.

모든 상태가 위 세 변수로 묘사된다고 보자. 하지만 우리에게 가용한 데이터는 노이즈한 센서로부터 얻을 수 있는 물체의 위치뿐이다. 다음 코드는 측정된 갓이 실제 위치와 어떤 관계를 갖는지 그래프를 그린다. (변수 x = 센서)

그 다음 칼만 필터를 적용해보자.

위 함수를 적용하여 로켓의 위치만을 측정 가능하게 해준다. (속도, 가속도는 포함X)

칼만 필터는 측정 오차에서 많은 노이즈를 제거한다. 제거하는 정도는 파라미터 R값에 따라 달라지고, 이 값은 필터가 과거 대비 가장 최근 데이터에 얼마나 큰 가중치를 부여하는지 반영한다. 여기서 예측과 실제 데이터 사이에 시간차가 없다는 사실에 주목해야 한다. 즉 직전 값에만 의존해서 현재값을 예측했다는 것이다.

칼만 필터는 시스템의 내부 역동성이 잘 정립되고, 이해된 경우 유용하다고 볼 수 있다. 또한 같은 내용이나 서로 다른 수치가 여러 장치에 의해 동시 다발적으로 측정되는 경우처럼 여러 종류의 측정치를 다루는 경우 특히 유용하다.

칼만 필터의 한 가지 대단한 이점은 재귀성(recursive)에 있다. 과정이 반복될 때마다 모든 데이터를 살펴볼 필요가 없다는 의미이다. '요약 통계'를 사용하여 갱신을 수행한다는 점이 칼만 필터의 장점이다.

여러 가지 유용한 확장이 있는데, 예를 들어 평활화에 적용한다는 점이다. 시간 t에서 참 상태 추정에 시간 t의 전후 데이터를 모두 사용하여 추정을 한다는 것이다. O(T)에 시간 복다로르 가지고, 상태 차원에서는 O(d^2)를 가진다.


7.3 은닉 마르코프 모형(HMM)

비지도학습이 적용된 희귀한 경우에 사용된다. 칼만 필터가 실험에서 얻었던 직관(관측 가능 변수)이 시스템을 잘 묘사하지 못한다는 개념에서 영강을 받았다. HMM에서 상정하는 과정은 이산적 상태들 간의 이동으로 묘사될 수 있는 비선형성이다.

7.3.1 모델의 동작 방식

HMM은 직접적으로 관측이 불가능한 상태를 가진 시스템을 가정한다. 미래의 사건의 호가률이 시스템의 현재 상태만으로도 충분히 계산될 수 있기에 '기억 없음'이라는 의미를 지닌다.

상태 A와 B 사이에서 출렁이는 시스템 있다고 가정해보자. 두 상태 모두 다른 시간 단계에서 통계적으로 다른 상태로 바귀는 것보다, 현 상태를 유지할 가능성이 높다고도 가정해보자.

그렇다면 위와 같은 행렬로 묘사될 수 있다. 시스템이 상태 A를 유지할 확률은 0.7이며, 상태 B로 바뀔 확률은 0.3이다. 가장 최근의 이전 상태를 알 필요가 없다. 이것이 바로 마르코프 과정을 의미한다.

은닉 마르코프 모형은 관측으로부터 시스템의 상태를 직접적으로 추론할 수 없다는 것을 제외하면 마르코프 모형과 같은 종류의 시스템을 표현한다.

위 그림처럼 추가 정보를 받지 않고, 현재의 영향만을 받는다.

HMM의 실제 사용 사례

- 금융시장 체제 전환 식별,

- DNA 염기순서 정보 분류, 예측, 복원

- ECG 데이터에 반영된 수면 단계의 인식


7.3.2 모델을 적합시키는 방법

은닉 상태들을 식별하는 방법은 반복성에 있다. HMM 시스템이 다음 정보로 완전히 묘사된다고 가정해보자.

- x(t)에서 x(t)+1로 전환될 확률. 앞서 언급된 상태 A, B간의 전환과 같은 행렬을 명시하는 것과 같다. 이 행렬의 크기는 가설을 세운 상태의 개수에 딸 다르다.

- x(t)가 주어졌을 때 관측 y(t)의 확률 또는 방출확률

- 시스템의 초기상태

다음과 같은 변수가 필요하다.

하지만 실제 데이터에서는 위 변수들을 알 수 있는 경우는 거의 없고, 실제로 관측된 y1,y2,yt만 알 수 있는 것이 보통이다.


바움-웰치 알고리즘

HMM에서는 바움-웰치 알고리즘을 통해 파라미터를 추정한다. 이전 절에서 나열한 모든 파라미터 값을 추정하는 가디으 역할을 하는 알고리즘이나, 전체적으로는 다음 두 단계로 작업한다.

- 각 은닉상태에 대한 개별 방출 확률, 즉 각 은닉상태 간 전환 확률 식별 -> 바움-웰치 알고리즘 사용

- 전체 관측에서 각 시간 단계별 가장 가능성이 높은 은닉 상태 식별 -> 비터비 알고리즘 사용

두 작업 사이는 합리적인 해결책을 찾을 때까지 반복해서 수행할 수 있다.

바움-웰치 알고리즘을 적용하는 첫 단계는 우도함수(likelihood function)를 정의하는 것이다. 우도함수는 주어진 가설 파라미터의 순서에 대한 관측의 확률을 의미한다. 

위와 같은 예시로, 우도함수는 주어진 방출 확률의 파라미터에 대한 관측 순서의 우도이다.

하지만 시간 단계가 많아질수록 복잡도가 지수적으로 증가하므로 격자탐색이 현실적으로 어려워 다음과 같은 EM 알고리즘을 적용한다.

1) 방출 확률변수를 무작위로 초기화

2) 주어진 방출 확률값을 가정하여 가능한 Xt를 계산

3) 더 나은 방출 확률변수의 추정치 생성에 Xt의 값을 사용

4) 수렴할 때까지 2,3번 단계 반복

좀 더 쉽게 설명하자면 두 개의 분포를 가정하는 무작위 사건 및 각 시간 단계에서 특정 상태일 확률을 결정(시간 단계 t에서 상태 A나 B가 될 확률)한다. 각 시간 단계에 추정상 상태를 학당하면, 그 추정 상태로 방출 확률을 재추정한다. (상태에 대한 더 나은 평균 및 표준편차가 되도록 바로잡는 과정). 이 과정을 반복하여 Xt 궤적의 추적 향상을 위해 새롭게 갱신된 방출 확률변수 사용한다.


비터비 알고리즘

파라미터가 추정되고, 관측 가능한 측정값으로 구성된 시계열을 구성하는 가장 가능성 높은 상태들의 계열을 찾는 알고리즘이다.

동적 프로그래밍 알고리즘으로 관측된 시계열의 모든 경로를 탐색하며 해결책을 찾는다.


7.3.3 코드로 보는 HMM의 적합 과정

코드는 생략한다.

데이터 탐색

- 매수세, 약세, 중립, 패닉이라는 네 가지 모드의 주식시장에서 영감을 받은 예제

- 각 상태의 방출 확률 분포를 설명하는 변수 = 상태가 지속될 일수 (무작위 선택)

- 몇 일이 상태 추적에 사용하는 변수에 해당되는지 확인 -> 가장 가능성이 낮은 상태는 선택되지 않음.

모델 적합 과정

- 예상 분포, 상태 개수, 입력 데이터 등이 함수로 지정

- 모델 적합 및 적합된 모델로부터 상태 레이블에 대한 사후분포 생성

- 상태 개수 지정, 방출 확률이 가우스 분포를 따른다는 것을 지정

적합 결과가 기준 은닉 상태와 잘 맞지 않는다. 적절한 전환 행렬을 사용하지 않았기 때문이다. 


7.4 베이즈 구조적 시계열

선형 가우스 모델과 다르게 이미 존재하는 요소를 활용하는 방법이다. 다음과 같은 4가지 단계로 구성된다.

1) 사전 확률의 세부 사항을 포함한 구조적 모델 정의

2) 관측된 데이터로 상태의 추정을 갱신하는 데 칼만 필터 사용

3) 스파이크앤슬랩 방법을 사용하여 구조적 모델 내 변수 선택 수행

4) 예측 생성을 위한 결과의 결합에 베이즈 모델 평균화 적용

 

추가적인 옵션

- BSTS는 모든 종류의 사전 확률을 모델링에 주입할 수 있다.

-  변수 선택 수행 가능

- 베이즈 모델 평균화로 결합

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기