Fit a receptive field model.
This allows you to fit an encoding model (stimulus to brain) or a decoding model (brain to stimulus) using time-lagged input features (for example, a spectro- or spatio-temporal receptive field, or STRF) [1][2][3][4].
float
The starting lag, in seconds (or samples if sfreq
== 1).
float
The ending lag, in seconds (or samples if sfreq
== 1).
Must be >= tmin.
float
The sampling frequency used to convert times into samples.
array
, shape (n_features,) | None
Names for input features to the model. If None, feature names will
be auto-generated from the shape of input data after running fit
.
sklearn.base.BaseEstimator
| float
| None
The model used in fitting inputs and outputs. This can be any
scikit-learn-style model that contains a fit and predict method. If a
float is passed, it will be interpreted as the alpha
parameter
to be passed to a Ridge regression model. If None
, then a Ridge
regression model with an alpha of 0 will be used.
None
If True (default), the sample mean is removed before fitting.
If estimator
is a sklearn.base.BaseEstimator
,
this must be None or match estimator.fit_intercept
.
Defines how predictions will be scored. Currently must be one of ‘r2’ (coefficient of determination) or ‘corrcoef’ (the correlation coefficient).
If True, inverse coefficients will be computed upon fitting using the covariance matrix of the inputs, and the cross-covariance of the inputs/outputs, according to [5]. Defaults to False.
int
| str
Number of jobs to run in parallel. Can be ‘cuda’ if CuPy
is installed properly and estimator is None
.
New in version 0.18.
If True (default), correct the autocorrelation coefficients for
non-zero delays for the fact that fewer samples are available.
Disabling this speeds up performance at the cost of accuracy
depending on the relationship between epoch length and model
duration. Only used if estimator
is float or None.
New in version 0.18.
str
| int
| None
Control verbosity of the logging output. If None
, use the default
verbosity level. See the logging documentation and
mne.verbose()
for details. Should only be passed as a keyword
argument.
See also
Notes
For a causal system, the encoding model will have significant non-zero values only at positive lags. In other words, lags point backward in time relative to the input, so positive lags correspond to previous input time samples, while negative lags correspond to future input time samples.
References
The coefficients from the model fit, reshaped for easy visualization.
During mne.decoding.ReceptiveField.fit()
, if y
has one
dimension (time), the n_outputs
dimension here is omitted.
If fit, the inverted coefficients from the model.
array
, shape (n_delays,), dtype int
The delays used to fit the model, in indices. To return the delays
in seconds, use self.delays_ / self.sfreq
slice
The rows to keep during model fitting after removing rows with
missing values due to time delaying. This can be used to get an
output equivalent to using numpy.convolve()
or
numpy.correlate()
with mode='valid'
.
Methods
|
Fit a receptive field model. |
|
Get parameters for this estimator. |
|
Generate predictions with a receptive field. |
|
Score predictions generated with a receptive field. |
|
Set the parameters of this estimator. |
Fit a receptive field model.
The instance so you can chain operations.
Examples using fit
:
Spectro-temporal receptive field (STRF) estimation on continuous data
Receptive Field Estimation and Prediction
Generate predictions with a receptive field.
array
, shape (n_times[, n_epochs], n_channels)The input features for the model.
array
, shape (n_times[, n_epochs][, n_outputs])The output predictions. “Note that valid samples (those
unaffected by edge artifacts during the time delaying step) can
be obtained using y_pred[rf.valid_samples_]
.
Examples using predict
:
Spectro-temporal receptive field (STRF) estimation on continuous data
Receptive Field Estimation and Prediction
Score predictions generated with a receptive field.
This calls self.predict
, then masks the output of this
and y` with ``self.valid_samples_
. Finally, it passes
this to a sklearn.metrics
scorer.
Examples using score
:
Spectro-temporal receptive field (STRF) estimation on continuous data
Receptive Field Estimation and Prediction
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects
(such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each
component of a nested object.
dict
Parameters.
The object.
mne.decoding.ReceptiveField
#Spectro-temporal receptive field (STRF) estimation on continuous data
Receptive Field Estimation and Prediction