Univariate filtering (sequential processing) for fast KFS
Univariate filtering (sequential processing) for fast KFS
Univariate treatment (sequential processing) of the multivariate Kalman filter and smoother equations for fast implementation. Refer to Koopman and Durbin (2000).
kalmanUnivariate(X, a0_0, P0_0, A, Lambda, Sig_e, Sig_u)
Arguments
X: n x p, numeric matrix of (stationary) time series
a0_0: k x 1, initial state mean vector
P0_0: k x k, initial state covariance matrix
A: k x k, state transition matrix
Lambda: p x k, measurement matrix
Sig_e: p x p, measurement equation residuals covariance matrix (diagonal)
Sig_u: k x k, state equation residuals covariance matrix
Returns
logl log-likelihood of the innovations from the Kalman filter
at_t kxn, filtered state mean vectors
Pt_t kxkxn, filtered state covariance matrices
at_n kxn, smoothed state mean vectors
Pt_n kxkxn, smoothed state covariance matrices
Pt_tlag_n kxkxn, smoothed state covariance with lag
Details
For full details of the univariate filtering approach, please refer to Mosley et al. (2023). Note that n is the number of observations, p is the number of time series, and k is the number of states.
References
Koopman, S. J., & Durbin, J. (2000). Fast filtering and smoothing for multivariate state space models. Journal of Time Series Analysis, 21(3), 281-296.
Mosley, L., Chan, TS., & Gibberd, A. (2023). sparseDFM: An R Package to Estimate Dynamic Factor Models with Sparse Loadings.