Print

Print


Hello all,

I'm comparing models (canonical HRF vs. canonical HRF + temporal derivative) for fMRI data. In order to compare model fit, I'm using:

    F(dR2) = ( (R2full - R2red) / ( (n - pred) (n - pfull) ) / ( (1 - R2full) / (n - pfull) )

where dR2 is the R2 (coefficient of multiple determination) increment, p stands for the number of predictors in each model (reduced: HRF; full: HRF + temp. deriv.) and n is the number of observations.

I'm taking n - p as the effective degrees of freedom for the each model, as given in SPM.xX.erdf (granted that I'm using whitened and filtered data when calculating R2). I noticed that the R2 increment from the reduced to the full model was exactly zero, which was very surprising, since I would expect at least minor differences. Because
 
    R2 = 1 - SSR/SST

I take my problem was in SSR and/or SST calculation. I'm attaching the scripts I'm using for these calculations. The RSS are different for each model, as expected, but... so are SST. This makes no sense, since the data are exactly the same for both models, and SST doesn't depend on the model. After making sure the data were being correctly loaded, I realized the problem arised after filtering and whitening the data:
   
    KWY     = spm_filter(K,W*Y);            % whitening and high-pass filtering

Moreover, the change in SST is exactly inverse to the change in SST since R2full - R2red = 0 for every voxel.

Does anyone have a clue on how and why is this happening? Am I doing something wrong?

Any help is greatly appreciated.

Rute Martins