How To Do Multivariate Pattern Analysis What is

  • Slides: 49
Download presentation
How To Do Multivariate Pattern Analysis

How To Do Multivariate Pattern Analysis

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

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

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

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

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

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

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

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

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

Sparse temporal sampling Video clip TR

What is the input to the classifier? TR TR TR TASK A § Raw

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

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

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

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

Gathering Your Tools

Gathering Your Tools

Why Py. MVPA § Alternative toolbox: Princeton MVPA toolbox http: //code. google. com/p/princeton-mvpa-toolbox/ §

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

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

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

Gathering Your Tools § Install Py. MVPA: http: //www. pymvpa. org § Version. 4

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

Gather Your Ingredients

Ingredients § 1 4 -dimensional functional data file, motion-corrected § This should be all

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

Sample preprocessing script

Ingredients § 1 4 -dimensional functional data file, motion-corrected § This should be all

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 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

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

Sample attributes file Sparse design Block design

Sample attributes file Sparse design Block design

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

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,

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

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

Mappers § Mappers transform data samples § Dataset automatically maps data from 4 D

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

Data pre-processing steps § Detrending § Z-scoring

Partitioners § Used to split the data into training set and testing set §

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

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

Choosing a classifier algorithm

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

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

Support Vector Machine

Support Vector Machine

Support Vector Machine • Draws a hyperplane to separate the categories, maximizing the margin

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

Misaki et al, 2010, Neuro. Image

Choosing a classifier algorithm

Choosing a classifier algorithm

Setting up cross-validation

Setting up cross-validation

Go!

Go!

Results Show confusion matrix: Plot confusion matrix:

Results Show confusion matrix: Plot confusion matrix:

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

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

Significance testing • Binomial test

Significance testing • Binomial test

Significance testing • Binomial test

Significance testing • Binomial test

Significance testing • Permutation testing • Generate a null distribution by randomly permuting pattern

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

Searchlight analysis

Searchlight analysis

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

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