allefeld/cvmanova

Normalization

Closed this issue · 1 comments

Hi,

We were wondering to include normalization of the data (Pereira 2009, Example preprocessing section, https://www.sciencedirect.com/science/article/pii/S1053811908012263) right after data loading.

I think the line 36 in cvManovaRegion.m,
[Ys, Xs, ~, misc] = loadDataSPM(dirName, regions);
is the data loading part

I was wondering if I add following lines? If it does not make sense, can you suggest better way?

Yss{1}=transpose(zscore(transpose(Ys{1})));
Yss{2}=transpose(zscore(transpose(Ys{2})));
Yss{3}=transpose(zscore(transpose(Ys{3})));
Ys=Yss; clearvars Yss;

Thank you.

Normalization is sometimes recommended for machine learning algorithms, but there is no need to do so in the MGLM context.

If the purpose would be to compensate for possibly different scaling in different runs: SPM's whitening takes care of that.

If the purpose is to equalize variance between voxels: (cv) MANOVA itself takes care of that.