skbold.preproc.confounds module

The confounds module contains code to handle and account for confounds in pattern analyses.

class ConfoundRegressor(confound, X, cross_validate=True, stack_intercept=True)[source]

Bases: sklearn.base.BaseEstimator, sklearn.base.TransformerMixin

Fits a confound onto each feature in X and returns their residuals.

__init__(confound, X, cross_validate=True, stack_intercept=True)[source]

Regresses out a variable (confound) from each feature in X.

Parameters:
  • confound (numpy array) – Array of length (n_samples, n_confounds) to regress out of each feature; May have multiple columns for multiple confounds.
  • X (numpy array) – Array of length (n_samples, n_features), from which the confound will be regressed. This is used to determine how the confound-models should be cross-validated (which is necessary to use in in scikit-learn Pipelines).
  • cross_validate (bool) – Whether to cross-validate the confound-parameters (y~confound) estimated from the train-set to the test set (cross_validate=True) or whether to fit the confound regressor separately on the test-set (cross_validate=False); we recommend setting this to True to get an unbiased estimate.
  • stack_intercept (bool) – Whether to stack an intercept to the confound (default is True)
Variables:

weights (numpy array) – Array with weights for the confound(s).

fit(X, y=None)[source]

Fits the confound-regressor to X.

Parameters:
  • X (numpy array) – An array of shape (n_samples, n_features), which should correspond to your train-set only!
  • y (None) – Included for compatibility; does nothing.
transform(X)[source]

Regresses out confound from X.

Parameters:X (numpy array) – An array of shape (n_samples, n_features), which should correspond to your train-set only!
Returns:X_new – ndarray with confound-regressed features
Return type:ndarray