How To Do Multivariate Pattern Analysis What is

















































- Slides: 49

How To Do Multivariate Pattern Analysis

What is MVPA? Animations from Meyer & Kaplan (in press), Journal of Visualized Experiments

Not significant Average V 1 V 2 V 3 V 4 V 5 V 6 Univariate vs. multivariate analysis of f. MRI data Individually not significant…but significant when considered in conjunction! — V 1 V 2 V 3 V 4 V 5 V 6

Fusiform face area Significant? Univariate analysis: Multivariate pattern analysis: The direction in which the correlation between the perceptual Reverse inference stimuli and brain activity is mapped does not matter from a statistical point of view. Primary visual cortex Multivariate pattern analysis: Predictable? V 1 V 2 V 3 V 4 V 5 V 6

Training trials Stimulus V 1 activity v v vv vv vv v v v v vv v v v pattern vvv vvv vvv Stimulus Performance: 75% vv vv vv V 1 activity vvv vvv vvv pattern vvv vvv vvv Classifier vv vv Classifier guess V 1 activity pattern ? ? Testing trials ? ? ? ? vv vv vv vvv vvv vvv vvv vvv vvv Stimulus Testing trials

Cross-validation paradigm: Cross-validation steps Runs 1 2 3 4 5 6 7 8 1 Performance 1 2 3 4 5 6 7 8 Performance 2 Performance 3 Performance 4 Performance 5 Performance 6 Performance 7 Performance 8 Training run Testing run Overall performance

What do I need to do MVPA? § An f. MRI experiment with an appropriate design § Almost any modern computer § Py. MVPA software

Experiment design § As many trials as possible to train the classifier

Experiment design § As many trials as possible to train the classifier § Clear BOLD pattern resulting from each trial TR TR TR TR TR TR

Sparse temporal sampling Video clip TR

What is the input to the classifier? TR TR TR TASK A § Raw f. MRI data TASK B

What is the input to the classifier? TR TR TR TASK A TASK B § Raw f. MRI data § Averaged f. MRI data AVG

What is the input to the classifier? TR TR TR TASK A § Raw f. MRI data § Averaged f. MRI data § beta values from a GLM analysis TASK B

Data pre-processing • • Motion-correction Smoothing (? ) Trend removal / high pass filter Z-scoring FSL Py. MVPA

Gathering Your Tools

Why Py. MVPA § Alternative toolbox: Princeton MVPA toolbox http: //code. google. com/p/princeton-mvpa-toolbox/ § Py. MVPA is free and open-source, does not require Matlab § Well-maintained and flexible § Python is great once you get used to it § I know how to use it

Python § An interpreted, modern programming language § Produces very clear, easy to read code § Object-oriented § Extensive scientific computing modules available for python (scipy, nipy, etc. )

Brief python demo § Python command line § Python scripting § i. Python

Gathering Your Tools § Install Py. MVPA: http: //www. pymvpa. org § Version. 4 x versus. 6 x § Linux: Very easy, just type one command § Windows: § Mac: Instructions on website will only install. 4 x. To install. 6 x follow my guide: § http: //www. jonaskaplan. com/lab/pymvpainstallation. php

Gather Your Ingredients

Ingredients § 1 4 -dimensional functional data file, motion-corrected § This should be all of your data from one subject. If you did multiple scans, concatenate them into one single 4 D file, all motion corrected to the same volume

Sample preprocessing script

Ingredients § 1 4 -dimensional functional data file, motion-corrected § This should be all of your data from one subject. If you did multiple scans, concatenate them into one single 4 D file, all motion corrected to the same volume § 1 text file which contains “attributes”: § Column 1 labels each volume with a “target” category § Column 2 labels each volume with a “chunk”, e. g. scan § 1 Mask file in the functional space

Terminology VOLUMES dog V O X E L S violin cow vase

Terminology SAMPLES TARGETS dog violin cow F E A T U R E S CHUNK vase

Sample attributes file Sparse design Block design

Getting started with pymvpa § Start python or ipython § Import the pymvpa module and explore it

Sample dataset § Subject saw nine different 5 -second video clips: dog, cow, rooster, violin, piano, bass, vase, chainsaw, coins § One single volume acquired 7 seconds after the start of the clip § Eight scans, each stimulus seen 3 times in each scan (24 times across the experiment)

Getting started with pymvpa § Read in your attributes § Create a dataset

Mappers § Mappers transform data samples § Dataset automatically maps data from 4 D to 2 D § Many mappings are reversible

Data pre-processing steps § Detrending § Z-scoring

Partitioners § Used to split the data into training set and testing set § Half. Partitioner() § Odd. Even. Partitioner() § NFold. Partitioner()

Choosing a classifier algorithm • Nearest neighbor • Support Vector Machine (SVM) • Linear Discriminant Analysis (LDA) • Gaussian Naive Bayes (GNB) • Sparse Multinomial Linear Regression (SMLR) • . . .

Choosing a classifier algorithm

Support Vector Machine § Draws a hyperplane to separate the categories, maximizing the margin between classes

Support Vector Machine

Support Vector Machine • Draws a hyperplane to separate the categories, maximizing the margin between classes • Works quickly with on large feature sets (lots of voxels) • Common in f. MRI pattern learning literature • Binary classifier • Linear version chosen (very little advantage to nonlinear SVM with lots of features and few stimuli)

Misaki et al, 2010, Neuro. Image

Choosing a classifier algorithm

Setting up cross-validation

Go!

Results Show confusion matrix: Plot confusion matrix:

Significance testing • Binomial test • Permutation testing • Voxel sensitivity maps

Significance testing • Binomial test

Significance testing • Binomial test

Significance testing • Permutation testing • Generate a null distribution by randomly permuting pattern labels http: //www. pymvpa. org/examples/permutation_test. html

Searchlight analysis

Searchlight analysis

To study on your own § Temporal exploration: averaging, temporal searchlights § Sensitivity maps § Permutation testing