osl_dynamics.simulation.mar#

Multivariate autoregressive (MAR) observation model.

Module Contents#

Classes#

MAR

Class that generates data from a multivariate autoregressive (MAR) model.

class osl_dynamics.simulation.mar.MAR(coeffs, covs)[source]#

Class that generates data from a multivariate autoregressive (MAR) model.

A \(p\)-order MAR model can be written as

\[x_t = A_1 x_{t-1} + ... + A_p x_{t-p} + \epsilon_t\]

where \(\epsilon_t \sim N(0, \Sigma)\). The MAR model is therefore parameterized by the MAR coefficients (\(A\)) and covariance (\(\Sigma\)).

Parameters:
  • coeffs (np.ndarray) – Array of MAR coefficients, \(A\). Shape must be (n_states, n_lags, n_channels, n_channels).

  • covs (np.ndarray) – Covariance of the error \(\epsilon_t\). Shape must be (n_states, n_channels) or (n_states, n_channels, n_channels).

Note

This model is also known as VAR or MVAR.

simulate_data(state_time_course)[source]#

Simulate time series data.

We simulate MAR data based on the hidden state at each time point.

Parameters:

state_time_course (np.ndarray) – State time course. Shape must be (n_samples, n_states). States must be mutually exclusive.

Returns:

data – Simulated data. Shape is (n_samples, n_channels).

Return type:

np.ndarray