Hi there!
I’m working with MBME fMRI data preprocessed and denoised with fMRIPrep + Tedana. I wanted to perform a GLM with a simple contrast (image vs rest) as a sanity check:
first_level_model = FirstLevelModel(
r_t,
mask_img=mask,
n_jobs=-1,
standardize=False,
signal_scaling=(0, 1),
smoothing_fwhm=5,
minimize_memory=False
)
I’m specifying `signal_scaling=(0,1)` since I would like to compare the parameter estimates across brain networks across each run for all of my participants.
I initially verified my activation maps, and they looked like what we expected. But when I looked at the predicted vs observed timeseries (following nilearn’s tutorial), I noticed that the first predicted value is out-of-range. Below is an example for one run of one subject for 4 different voxels. The grey dashed line is the predicted timeserie for a given voxel and the colored one is the observed timeserie.
I also tried computing the GLM with `signal_scaling=0`, and now the first predicted values look more in range:
I would like to better understand what is happening in the first place with the grand mean scaled data (`signal_scaling=(0, 1)`), and why mean scaling each voxel with respect to time (`signal_scaling=0`) is fixing that issue.
Finally, are there any recommendations on how to proceed from here? Any guidance is deeply appreciated ![]()
Thank you in advance for your help!

