First level model fit: "Out-of-range" first value on predicted signal

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 :folded_hands:

Thank you in advance for your help!