Implementation of the classic multivariate Kalman filter and smoother equations of Shumway and Stoffer (1982).
kalmanMultivariate(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 classic multivariate KFS 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
Mosley, L., Chan, TS., & Gibberd, A. (2023). sparseDFM: An R Package to Estimate Dynamic Factor Models with Sparse Loadings.
Shumway, R. H., & Stoffer, D. S. (1982). An approach to time series smoothing and forecasting using the EM algorithm. Journal of time series analysis, 3(4), 253-264.