The SSM Toolbox for Matlab

Reading time: 6 minute
...

📝 Original Info

  • Title: The SSM Toolbox for Matlab
  • ArXiv ID: 0706.3443
  • Date: 2007-06-23
  • Authors: Jyh-Ying Peng, John A. D. Aston

📝 Abstract

State Space Models (SSM) is a MATLAB 7.0 software toolbox for doing time series analysis by state space methods. The software features fully interactive construction and combination of models, with support for univariate and multivariate models, complex time-varying (dynamic) models, non-Gaussian models, and various standard models such as ARIMA and structural time-series models. The software includes standard functions for Kalman filtering and smoothing, simulation smoothing, likelihood evaluation, parameter estimation, signal extraction and forecasting, with incorporation of exact initialization for filters and smoothers, and support for missing observations and multiple time series input with common analysis structure. The software also includes implementations of TRAMO model selection and Hillmer-Tiao decomposition for ARIMA models. The software will provide a general toolbox for doing time series analysis on the MATLAB platform, allowing users to take advantage of its readily available graph plotting and general matrix computation capabilities.

💡 Deep Analysis

Deep Dive into The SSM Toolbox for Matlab.

State Space Models (SSM) is a MATLAB 7.0 software toolbox for doing time series analysis by state space methods. The software features fully interactive construction and combination of models, with support for univariate and multivariate models, complex time-varying (dynamic) models, non-Gaussian models, and various standard models such as ARIMA and structural time-series models. The software includes standard functions for Kalman filtering and smoothing, simulation smoothing, likelihood evaluation, parameter estimation, signal extraction and forecasting, with incorporation of exact initialization for filters and smoothers, and support for missing observations and multiple time series input with common analysis structure. The software also includes implementations of TRAMO model selection and Hillmer-Tiao decomposition for ARIMA models. The software will provide a general toolbox for doing time series analysis on the MATLAB platform, allowing users to take advantage of its readily avai

📄 Full Content

State Space Models (SSM) is a MATLAB toolbox for doing time series analysis using general state space models and the Kalman filter [1]. The goal of this software package is to provide users with an intuitive, convenient and efficient way to do general time series modeling within the state space framework. Specifically, it seeks to provide users with easy construction and combination of arbitrary models without having to explicitly define every component of the model, and to maximize transparency in their data analysis usage so no special consideration is needed for any individual model. This is achieved through the unification of all state space models and their extension to non-Gaussian and nonlinear special cases. The user creation of custom models is also implemented to be as general, flexible and efficient as possible. Thus, there are often multiple ways of defining a single model and choices as to the parametrization versus initialization and to how the model update functions are implemented. Stock model components are also provided to ease user extension to existing predefined models. Functions that implement standard algorithms such as the Kalman filter and state smoother, log likelihood calculation and parameter estimation will work seamlessly across all models, including any user defined custom models.

These features are implemented through object-oriented programming primitives provided by MATLAB and classes in the toolbox are defined to conform to MATLAB conventions whenever possible. The result is a highly integrated toolbox with support for general state space models and standard state space algorithms, complemented by the built-in matrix computation and graphic plotting capabilities of MATLAB.

This section presents a summary of the basic definition of models supported by SSM. Currently SSM implements the Kalman filter and related algorithms for model and state estimation, hence non-Gaussian or nonlinear models need to be approximated by linear Gaussian models prior to or during estimation. However the approximation is done automatically and seamlessly by the respective routines, even for user-defined non-Gaussian or nonlinear models.

The following notation for various sequences will be used throughout the paper:

2.1 Linear Gaussian models SSM supports linear Gaussian state space model in the form

α 1 ∼ N (a 1 , P 1 ), t = 1, . . . , n.

(

Thus the matrices Z t , c t , T t , R t , H t , Q t , a 1 , P 1 are required to define a linear Gaussian state space model. The matrix Z t is the state to observation linear transformation, for univariate models it is a row vector. The matrix c t is the same size as the state vector, and is the “constant” in the state update equation, although it can be dynamic or dependent on model parameters. The square matrix T t defines the time evolution of states. The matrix R t transforms general disturbance into state space, and exists to allow for more varieties of models. H t and Q t are Gaussian variance matrices governing the disturbances, and a 1 and P 1 are the initial conditions. The matrices and their dimensions are listed: (

The sequence θ t is the signal and Q t is a non-Gaussian distribution (e.g. heavy-tailed distribution). The non-Gaussian observation disturbance can take two forms: an exponential family distribution

or a non-Gaussian additive noise

With model combination it is also possible for H t and Q t to be a combination of Gaussian distributions (represented by variance matrices) and various non-Gaussian distributions.

SSM supports nonlinear state space models in the form

α 1 ∼ N (a 1 , P 1 ), t = 1, . . . , n.

(

Z t and T t are functions that map m × 1 vectors to p × 1 and m × 1 vectors respectively. With model combination it is also possible for Z t and T t to be a combination of linear functions (matrices) and nonlinear functions.

This section summarizes the core algorithms implemented in SSM, starting with the Kalman filter. Normally the initial conditions a 1 and P 1 should be given for these algorithms, but the exact diffuse initialization implemented permits elements of either to be unknown, and derived implicitly from the first few observations. The unknown elements in a 1 are set to 0, and the corresponding diagonal entry in P 1 is set to ∞, this represents an improper prior which reflects the lack of knowledge about that particular element a priori. See [1] for details. To keep variables finite in the algorithms we define another initial condition P ∞,1 with elements (P ∞,1 ) i,j = 0, if (P 1 ) i,j < ∞,

and set infinite elements of P 1 to 0. All the state space algorithms supports exact diffuse initialization.

For non-Gaussian and nonlinear models linear Gaussian approximations are performed by linearization of the loglikelihood equation and model matrices respectively, and the Kalman filter algorithms can then be used on the resulting approximation models.

Given the observation y t , the model and initial conditions a 1

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut