Katharina Best
2013-May-14 18:24 UTC
[R] Specifying Correlation Structures in Linear Multivariate State Space Models
I am investigating various R packages that facilitate estimation of linear Gaussian multivariate state space models. I stumbled across the MARSS package (http://cran.r-project.org/web/packages/MARSS/index.html), which I believe is very well done, but am finding one missing feature that I cannot live without. I am trying to estimate a Gaussian multiuvatiate local level model The MARSS package seems to require that *w *and *v *have the same dimensions as the state and observation equations, respectively. For example, a model with 4 states in the state equation would need to have four error terms and a 4x4 covariance matrix Q. My questions is whether there is any way to get around this restriction either by - adding a *p x m *coefficient matrix in front of *w*, where *p *is the number of error terms and *m *is the number of state equations, thus allowing the error term of each of the *m *companies to be a linear combination of *p *independent error terms, OR - by specifying the correlation structure in *Q *appropriately. When I attempt to restrict *Q* in a way that mimics the model that would be created by a coefficient matrix like one described above I run into the problem that expressions defining values of entries in *Q* must be linear in parameters. This prevents me from e.g. writing expressions that are products of estimated correlation coefficients. I found a similar issue when investigating the dlm package, but am also looking for suggestions on other approaches to try. *Some more detail:* Currently in MARSS, the equations look like this: - X_t = B_t X_{t-1} + u_t + w_t where X is mx1, B is mxm, u is mx1, w is mx1 - Y_t = Z_t X_t + a_t + v_t where Y is nx1, Z is nxm, X is mx1, a is nx1, v is nx1 My goal is to write error terms as linear combinations, yielding something like: - X_t = B_t X_{t-1} + u_t + R_t w_t where X is mx1, B is mxm, u is mx1, R is pxm, w is px1 - Y_t = Z_t X_t + a_t + S_t v_t where Y is nx1, Z is nxm, X is mx1, a is nx1, S is qxn, v is qx1 *Thanks so much for the help!* [[alternative HTML version deleted]]