MATLAB용 상태공간 모델 툴박스 SSM

SSM은 MATLAB 7.0 환경에서 상태공간 모델을 이용한 시계열 분석을 지원하는 종합 툴박스로, 선형·비선형·비가우시안 모델을 객체지향적으로 구현하고 칼만 필터·스무더·시뮬레이션 스무더 등 핵심 알고리즘을 일관된 인터페이스로 제공한다. 사용자는 사전 정의된 모델을 조합하거나 사용자 정의 모델을 손쉽게 구축·추정·예측할 수 있다.

저자: Jyh-Ying Peng, John A. D. Aston

이 논문은 MATLAB 7.0용 상태공간 모델(SSM) 툴박스의 전반적인 구조와 기능을 상세히 소개한다. 서론에서는 시계열 분석에 상태공간 프레임워크를 적용하는 필요성을 강조하고, 기존 패키지와 차별화된 직관적 모델 구성·조합 방식을 제시한다. 2장에서는 지원되는 모델 유형을 세부적으로 정의한다. 선형 가우시안 모델은 전통적인 상태·관측 방정식 형태(yₜ = Zₜαₜ + εₜ, αₜ₊₁ = cₜ + Tₜαₜ + Rₜηₜ)로, 각 행렬(Zₜ, Tₜ 등)의 차원과 역할을 명시한다. 비가우시안 모델은 관측 교란을 지수형 가족 혹은 비가우시안 추가 잡음 형태로 확장하고, 상태 교란 역시 비가우시안 분포를 허용한다. 비선형 모델은 Zₜ(·)와 Tₜ(·)를 함수 핸들로 받아 1차 테일러 전개를 통해 선형 근사를 수행한다. 3장에서는 핵심 알고리즘을 설명한다. 칼만 필터는 일반적인 예측·업데이트 단계와 함께 정확한 확산 초기화 절차를 제공한다. 초기 평균은 0, 공분산은 무한대로 설정해 사전 정보가 없는 상태를 표현하고, 초기 몇 단계에서 무한 공분산을 처리한 뒤 정상적인 필터링으로 전환한다. 상태 스무더는 뒤로 진행하는 역재귀를 통해 전체 데이터에 대한 상태 평균·공분산을 계산하고, 확산 초기화 구간에 대한 별도 식을 제시한다. 교란 스무더는 필터와 스무더 결과를 이용해 관측·상태 교란의 사후 기대값과 공분산을 추정한다. 시뮬레이션 스무더는 무작위 교란 및 초기 상태를 샘플링하고, 기존 스무더 결과와 결합해 조건부 시뮬레이션 경로를 생성한다. 4장 ‘Getting Started’에서는 툴박스 사용 흐름을 안내한다. C 기반 MEX 파일을 컴파일한 뒤, ssmodel 생성자를 통해 사전 정의된 모델(예: ‘llm’, ‘arma’)을 객체화한다. 모델 파라미터는 model.param 벡터로 접근 가능하며, 초기 조건은 정확한 확산 초기화가 기본값이다. 모델은 수평 결합을 통해 복합 모델을 만들 수 있다. 추정은 estimate 메서드로 최대우도 추정을 수행하고, log‑likelihood와 파라미터 추정값을 반환한다. 5장에서는 핵심 클래스 구조를 상세히 설명한다. SSMAT은 고정 행렬을, SSDIST은 비가우시안 분포 객체를, SSFUNC은 사용자 정의 함수(관측·전이) 를, SSPARAM은 파라미터 벡터와 제약조건을, SSMODEL은 전체 모델을 캡슐화한다. 각 클래스는 서브스크립트 연산자 오버로딩과 풍부한 메서드(예: set, get, combine)를 제공해 직관적인 조작을 가능하게 한다. 6장 ‘SSM Functions’에서는 사용자 정의 업데이트 함수, 데이터 분석 함수, 기본 요소 함수, 보조 헬퍼 함수 등을 분류하고, 함수 호출 규약과 반환값을 정리한다. 7장 ‘Data Analysis Examples’에서는 실제 적용 사례를 7가지로 나눈다. (1) 구조적 시계열 모델을 이용한 단변량·다변량 분석, (2) ARMA 모델 구축 및 추정, (3) 3차 스플라인 평활, (4) 포아송 오류 모델, (5) t‑분포 오류 모델, (6) Hillmer‑Tiao 분해를 통한 ARIMA 구성 요소 해석을 제시한다. 각 예제는 모델 정의, 파라미터 초기화, 추정, 신호 추출, 예측 과정을 코드와 그래프로 보여준다. 부록 A는 사전 정의된 모델 목록을, 부록 B는 각 클래스의 메서드와 속성을, 부록 C는 함수 레퍼런스를 제공한다. 전체적으로 SSM 툴박스는 MATLAB의 행렬 연산 및 그래픽 기능을 활용해 상태공간 모델링을 통합된 객체지향 프레임워크로 제공한다. 비가우시안·비선형 확장, 정확한 확산 초기화, C 기반 고속 연산, ARIMA 전용 기능 등을 통해 기존 툴보다 높은 유연성과 성능을 달성한다. 다만 비선형 근사는 1차 선형화에 의존하므로 강한 비선형성에서는 근사 오차가 발생할 수 있으며, 사용자 정의 함수의 실행 속도는 MATLAB 레벨에 머물러 최적화 여지가 있다. 향후 고차 근사와 GPU 가속 MEX 구현이 추가된다면 더욱 강력한 분석 도구가 될 전망이다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기