[pymvpa] null classification performance in the presence of strong univariate signal??
David Soto
d.soto.b at gmail.com
Mon Sep 8 09:21:44 UTC 2014
Hi,
Thank you for the great software. I am really enjoying it.
We have been learning about the searchlight analyses
as part of a broader analyses, and have encountered an issue for which we
have no apparent explanation. The univariate GLM substraction analyses show
strong differences in activation in a frontoparietal network betwen a
*cued* and *uncued* attention task. We performed a searchlight analyses
with KNN and SVM classifiers on the same data *as a sanity check*
expecting to find spheres in frontoparietal cortex
with significant classification accuracy. But we do not find anything
like it.
There are two experimental conditions *cued and uncued* and 19 subjects.
The data input to the searchlight is the parameter estimates (PEs) from the
GLM that give such strong univariate effecs in frontoparietal cortex
.
We therefore have a 4D nii file in which volumes 1-19 are PEs for the *cue*
classification target and volumes 20-38 are the PEs for the *uncued*
classification target
This is the code we use. In it the chunks are the subject (1-19)
from mvpa2.suite import *
attr = SampleAttributes(os.path.join(datapath,
'attr1task_cued_vs_uncued.txt'))
ds = fmri_dataset(samples=os.path.join(datapath1, 'introsp_pred.nii.gz'),
targets=attr.targets, chunks=attr.chunks,
mask=os.path.join(datapath2, 'mask.nii.gz'))#based on
FEAT analyses
#add_fa={'unmbral_glm': os.path.join(datapath2,
'mask.nii.gz')})
#ds.sa['task']=np.repeat(['search','introsp'], 16)
zscore(ds, chunks_attr='chunks')
clf=kNN(k=1, dfx=one_minus_correlation, voting='majority')
#clf = LinearNuSVMC()
partitioner=NFoldPartitioner()
cv=CrossValidation(clf, partitioner)
sl=sphere_searchlight(cv, radius=3, space='voxel_indices',
postproc=mean_sample(), nproc=4)
res_knn=sl(ds)
niftires = map2nifti(ds, res_knn)
archivo='/home/dsoto/Documents/fmri/wmintrosp/just1indivcopesML/orig/sl_knn.nii.gz'
niftires.to_filename(archivo)
h5save(os.path.join(datapath1,'sl_knn.hdf5'),res_knn_pred_z_by_subj)
The above code gave a Warning re: the zscoring stage becos the number of
datapoints per chunks was only 2 (in the example above the chunks were the
subjects)
I ALSO NOTE that I repeated this using different zscoring approaches (eg
zscoring by each subject, by each condition *cued* vs *uncued* or by the
whole input data, for this later we created a column factor with *1* for
the 38 data points)
I am confused as to why the univariate GLM gives such strong difference
between conditions, while the searchlight gives null classification
accuracy.
Any input is highly appreciated!
cheers
ds
--
http://www1.imperial.ac.uk/medicine/people/d.soto/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/attachments/20140908/f12de420/attachment.html>
More information about the Pkg-ExpPsy-PyMVPA
mailing list