Source estimates for evoked responses to continuous predictors

I analyse evoked responses to continuous predictors on 64-channel EEG data. I have adopted an approach from Nieuwland et al. (2020) where I run mixed-effects regression models over all electrodes and timepoints and control for multiple comparisons.

Raw data and epoch extraction, including single-trial participant and item metadata, is done in MNE Python but I export data to R for sensor-level statistical analysis and plotting.

Is it possible to do something similar to what I am currently doing in source space?

I have tried calculating evoked potentials in MNE using the relevant metadata (e.g. the response to the predictor “word frequency”) following this tutorial :

https://mne.tools/stable/auto_examples/stats/sensor_regression.html

then doing source localisation on the evoked responses using this tutori al:

https://mne.tools/1.8/auto_tutorials/inverse/30_mne_dspm_loreta.html#sphx-glr-auto-tutorials-inverse-30-mne-dspm-loreta-py

I can get source-level estimates for individual participants. Am I right to assume that these are estimates of the evoked potentials for the continuous predi ctor?

If yes, can anyone guide me in the right direction for running a group-level analysis in source space? This is of course complicated by there being many more vertices than channels.

Could I run a loop with evoked estimates, noise covariance matrices, forward solutions etc. and then concatenate the stcs? Or would it be better to calculate single-trial source estimates for all participants, channels and time points and then do statistical testing in source space?

I found this discussion relevant but I don’t know how to move forward from here.

https://mne.discourse.group/t/computing-regression-on-sensor-data-then-transforming-to- source-space/669/3

Any help and recommendation is much appreciated!

MNE version: 1.11. 0
OS: mac OS

References:
https://royalsocietypublishing.org/rstb/article/375/1791/20180522/23754/Dissociable-effects-of-prediction-and-integration

Since source estimation is a linear operation, source localizing the regression coefficients is the same as performing the regression in source space. Hence, the preferred route is source localizing the regression coefficients as you obtain with your multi-level model, since that will be way faster and efficient.

Check out this piece of code that compares performing the regression in source space and source localizing the regression coefficients:

Thank you so much for this response and for the piece of code! It was good to see that source localising an evoked regression coefficient is the same as doing the regression in source space. I really appreciate your help!

From my understanding, what complicates source localising the regression coefficients of interest in a multi-level model is that it wouldn’t be possible to use individual noise covariance matrices and forward solutions per participants for the source localisation.

In this case I have a predictor that varies across items (like concreteness) and another that varies across participants (like age) - and I am interested in the interaction between the two.

The approach that I can think of, which comes closest, is source localising evoked potentials (of, say, concreteness) per participant and then running a spatio-temporal cluster (1 sample t-test) analysis with the stat_fun as an across-participants linear regression (with, say, age as a predictor).