Abstract
State space models (SSMs) are introduced in the context of structural equation modeling (SEM). In particular, the OpenMx implementation of SSMs using the Kalman filter and prediction error decomposition is discussed. In reflection of modularity, the implementation uses the same full information maximum likelihood missing data procedures for SSMs and SEMs. Similarly, generic OpenMx features such as likelihood ratio tests, profile likelihood confidence intervals, Hessian-based standard errors, definition variables, and the matrix algebra interface are all supported. Example scripts for specification of autoregressive models, multiple lag models (VAR(p)), multiple lag moving average models (VARMA(p, q)), multiple subject models, and latent growth models are provided. Additionally, latent variable calculation based on the Kalman filter and raw data generation based on a model are all included. Finally, future work for extending SSMs to allow for random effects and for presenting them in diagrams is discussed.
Notes
1 In some situations, such as the latent growth curve example, the initial latent mean and variance can be freely estimated from the data. Many times however, the can be estimated but
must be fixed. In these cases the typical practice is to fix the initial covariance to a scalar multiple of the identity matrix with the scalar indicating the amount of uncertainty in the initial mean. See, for example, Harvey (Citation1989, pp. 121–122) and Durbin and Koopman (Citation2001, pp. 99–120).
2 A latent process will have a stationary covariance structure when the (complex) magnitude of the eigenvalues of the dynamics, A, are all less than 1.0. The process will have a stationary mean structure when the inputs, u are all zero, and the covariance structure is stationary. Both of these conditions also assume that none of the model matrices are time-dependent (i.e., , etc.).
3 In several tests using the same model and data, dlm was 10 to 25 times slower than OpenMx. For a full example that fits the same model to the same data using OpenMx and dlm, see https://github.com/OpenMx/OpenMx/blob/master/inst/models/passing/StateSpaceOsc.R, in which the same parameter estimates are obtained but OpenMx is about 20 times faster (1.5 sec vs. 30 sec on a Windows 10 64-bit machine with an Intel i7-6500U processor). Care must be taken here to compare the OpenMx version of the model that does not estimate the standard errors or Hessian because the optim routine that dlm uses does not do this.
4 Standard errors are not available for models that use mxConstraint because the second derivative matrix (Hessian) of the likelihood function does not respect constraints, thus violating assumptions of the likelihood theory that defines the large sample variance of the parameters (e.g., Fisher, Citation1925).
5 Just as higher order differential equations can be represented as a system of first-order differential equations, higher order lags can be represented as a system of first-order lags.