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]]

