rsatoolbox.simulation.sim module

Functions for data simulation a specific RSA-model

make_design: creates design and condition vectors for fMRI design

make_dataset: creates a data set based on an RDM model

@author: jdiedrichsen

rsatoolbox.simulation.sim.make_dataset(model, theta, cond_vec, n_channel=30, n_sim=1, signal=1, noise=1, signal_cov_channel=None, noise_cov_channel=None, noise_cov_trial=None, use_exact_signal=False, use_same_signal=False)[source]

Simulates a fMRI-style data set

Parameters:
  • model (rsatoolbox.Model) – the model from which to generate data

  • theta (numpy.ndarray) – vector of parameters (one dimensional)

  • cond_vec (numpy.ndarray) –

    RSA-style model:

    vector of experimental conditions

    Encoding-style:

    design matrix (n_obs x n_cond)

  • n_channel (int) – Number of channels (default = 30)

  • n_sim (int) – Number of simulation with the same signal (default = 1)

  • signal (float) – Signal variance (multiplied by predicted G)

  • signal_cov_channel (numpy.ndarray) – Covariance matrix of signal across channels

  • noise (float) – Noise variance

  • noise_cov_channel (numpy.ndarray) – Covariance matrix of noise (default = identity)

  • noise_cov_trial (numpy.ndarray) – Covariance matrix of noise across trials

  • use_exact_signal (bool) – Makes the signal so that G is exactly as specified (default: False)

  • use_same_signal (bool) – Uses the same signal for all simulation (default: False)

Returns:

List of rsatoolbox.Dataset with obs_descriptors

Return type:

data (list)

rsatoolbox.simulation.sim.make_design(n_cond, n_part)[source]

Makes simple fMRI design with n_cond, each measures n_part times

Parameters:
  • n_cond (int) – Number of conditions

  • n_part (int) – Number of partitions

Returns:

Tuple (cond_vec, part_vec) cond_vec (np.ndarray): n_obs vector with condition part_vec (np.ndarray): n_obs vector with partition

rsatoolbox.simulation.sim.make_signal(G, n_channel, make_exact=False, chol_channel=None)[source]

Generates signal exactly with a specified second-moment matrix (G)

To avoid errors: If the number of channels is smaller than the number of patterns we generate a representation with the minimal number of dimnensions and then delete dimensions to yield the desired number of dimensions.

Parameters:
  • G (np.array) – desired second moment matrix (ncond x ncond)

  • n_channel (int) – Number of channels

  • make_exact (bool) – enforce exact signal distances (default: False)

  • chol_channel – Cholensky decomposition of the signal covariance matrix (default: None - makes signal i.i.d.)

Returns:

random signal

Return type:

np.array (n_cond x n_channel)