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