Skip to contents

These are model objects and utility functions for model objects in the package MARSS-package. is.marssMODEL() ensures model consistency. MARSS_formname() translates a model list as passed in call to MARSS() into a marssMODEL model object.

Usage

is.marssMODEL(MODELobj, method = "kem")

Arguments

MODELobj

An object of class marssMODEL.

method

Method used for fitting in case there are special constraints for that method.

Details

A marssMODEL object is an R representation of a MARSS model along with the data. Data in a marssMODEL object consists of multivariate time series data in which time is across columns and the n observed time series are in the n different rows.

The base MARSS model (form=marss) is

x(t) = B(t) x(t-1) + U(t) + w(t), where w(t) ~ MVN(0,Q(t))
y(t) = Z(t) x(t) + A(t) + v(t), where v(t) ~ MVN(0,R(t))
x(0) ~ MVN(x0, V0) or x(1) ~ MVN(x0, V0)

The marssMODEL(form=marss) object describes this MARSS model but written in vec form:

x(t) = kron(x(t-1),I)(f_b(t)+D_b(t)b) + (f_u(t)+D_u(t)u) + w(t), where w(t) ~ MVN(0,Q)
vec(Q) = f_q(t)+D_q(t)q
y(t) = kron(x(t),I)(f_z(t)+D_z(t)z) + (f_a(t)+D_a(t)a) + v(t), where v(t) ~ MVN(0,R)
vec(R) = f_r(t)+D_r(t)r
x(0) ~ MVN(f_p+D_p p, V0) or x(1) ~ MVN(f_p+D_p p, V0
vec(V0) = f_l+D_l l

In the marssMODEL(form=marss) object, f(t) + D(t)m, is the vec of a matrix M(t), so f_b(t)+D_b(t)b would be vec(B(t)). The estimated parameters are in the column vectors: b, u, q, z, a, r, p, and l. Each matrix M(t) is f(t)+D(t)m so is the sum of a fixed part f(t) and the linear combination, D(t), of the free (or estimated) part m.

The vec form of the MARSS model is specified by 3D matrices for each f and D for each parameter: B, U, Q, Z, A, R, x0, V0. The number of columns in the D matrix for a parameter determines the number of estimated values for that parameter. The first dimension for f (fixed) and D (free) must be:

Z

n x m

B, Q, and V0

m x m

U and x0

m x 1

A

n x 1

R

n x n

The third dimension of f (fixed) and D (free) is either 1 (if not time-varying) or T (if time-varying). The second dimension of f (fixed) is always 1, while the second dimension of D (free) depends on how many values are being estimated for a matrix. It can be 0 (if the matrix is fixed) or up to the size of the matrix (if all elements are being estimated).

Value

A vector of error messages or NULL is no errors.

Author

Eli Holmes, NOAA, Seattle, USA.

See also