osl_dynamics.glm.base#

GLM base class.

Classes#

DesignConfig

Configuration class for Design.

Feature

Base class for feature objects.

Contrast

Base class for contrast objects.

Design

Base class for design objects.

GLM

Base class for GLM objects.

Module Contents#

class osl_dynamics.glm.base.DesignConfig[source]#

Configuration class for Design.

Parameters:
  • features (List[Dict]) –

    List of dictionaries containing feature information. Each dictionary should contain the following keys:

    • name: str

      Feature name.

    • values: np.ndarray or list

      Feature values. Must be 1D.

    • feature_type: str

      Feature type. Must be ‘constant’, ‘continuous’, or ‘categorical’.

  • contrasts (List[Dict]) –

    List of dictionaries containing contrast information. Each dictionary should contain the following keys:

    • name: str

      Contrast name.

    • values: np.ndarray or list

      Contrast values. Must be 1D.

  • standardize_features (bool) – Whether to standardize continuous features. Default is True.

features: List[Dict] = None[source]#
contrasts: List[Dict] = None[source]#
standardize_features: bool = True[source]#
create_design()[source]#

Create a Design object from the configuration.

Returns:

design – Design object.

Return type:

osl_dynamics.glm.base.Design

class osl_dynamics.glm.base.Feature(name, values, feature_type)[source]#

Base class for feature objects.

Parameters:
  • values (np.ndarray or list) – Feature values. Must be 1D.

  • name (str) – Feature name.

  • feature_type (str) – Feature type. Must be ‘constant’, ‘continuous’, or ‘categorical’.

name[source]#
values[source]#
feature_type[source]#
n_samples[source]#
summary()[source]#
Return type:

Dict

class osl_dynamics.glm.base.Contrast(name, values)[source]#

Base class for contrast objects.

Parameters:
  • values (np.ndarray or list) – Contrast values. Must be 1D.

  • name (str) – Contrast name.

name[source]#
values[source]#
n_features[source]#
contrast_type = 'differential'[source]#
summary()[source]#
Return type:

Dict

class osl_dynamics.glm.base.Design(features=None, contrasts=None, standardize_features=True)[source]#

Base class for design objects.

Parameters:
  • features (List[Feature], optional) – List of Feature objects. Default is None.

  • contrasts (List[Contrast], optional) – List of Contrast objects. Default is None.

  • standardize_features (bool, optional) – Whether to standardize continuous features. Default is True.

features = [][source]#
contrasts = [][source]#
n_samples = None[source]#
n_features = None[source]#
standardize_features = True[source]#
add_feature(name, values, feature_type)[source]#

Add a feature to the design.

Parameters:
  • name (str) – Feature name.

  • values (np.ndarray or list) – Feature values. Must be 1D.

  • feature_type (str) – Feature type. Must be ‘constant’, ‘continuous’, or ‘categorical’.

Return type:

None

add_contrast(name, values)[source]#

Add a contrast to the design.

Parameters:
  • name (str) – Contrast name.

  • values (np.ndarray or list) – Contrast values. Must be 1D.

Return type:

None

validate()[source]#

Validate the design.

Return type:

None

build_X()[source]#

Build the design matrix.

Returns:

X – Design matrix. Shape is (n_samples, n_features).

Return type:

np.ndarray

build_contrast_array()[source]#

Build the contrast array.

Returns:

contrast_array – Contrast array. Shape is (n_contrasts, n_features).

Return type:

np.ndarray

property n_contrasts: int[source]#
Return type:

int

property feature_names: List[str][source]#
Return type:

List[str]

property feature_types: List[str][source]#
Return type:

List[str]

property contrast_names: List[str][source]#
Return type:

List[str]

property contrast_types: List[str][source]#
Return type:

List[str]

property dof: int[source]#
Return type:

int

summary()[source]#

Get a summary of the design.

Return type:

Dict

class osl_dynamics.glm.base.GLM(design)[source]#

Base class for GLM objects.

Parameters:

design (osl_dynamics.glm.base.Design) – Design object.

design[source]#
X[source]#
c[source]#
n_targets = None[source]#
target_dims = None[source]#
fit(y)[source]#

Fit the GLM model.

Parameters:

y (np.ndarray or list) – Target values. Shape is (n_samples, *target_dims).

Return type:

None

get_tstats(copes=None, varcopes=None)[source]#

Get t-statistics.

Parameters:
  • copes (np.ndarray) – Contrast parameter estimates. Shape is (n_contrasts, *target_dims).

  • varcopes (np.ndarray) – Variance of contrast parameter estimates. Shape is (n_contrasts, *target_dims).

Returns:

tstats – t-statistics. Shape is (n_contrasts, *target_dims).

Return type:

np.ndarray

property n_samples: int | None[source]#
Return type:

Optional[int]

property n_features: int | None[source]#
Return type:

Optional[int]

property feature_names: List[str][source]#
Return type:

List[str]

property feature_types: List[str][source]#
Return type:

List[str]

property n_contrasts: int[source]#
Return type:

int

property contrast_names: List[str][source]#
Return type:

List[str]

property contrast_types: List[str][source]#
Return type:

List[str]

property dof: int[source]#
Return type:

int

property tstats: numpy.ndarray[source]#
Return type:

numpy.ndarray

summary()[source]#

Get a summary of the GLM.

Return type:

Dict