eeglab workshop iv, june 26-29, 2007, aspet, france: scott makeig – component clustering 1...

56
EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 1 Independent Component Clustering Why cluster components? EEGLAB studysets: the STUDY structure Creating a STUDY – pop_createstudy() Preparing the clustering measures – pop_preclust() Performing the clustering – pop_clust() Reviewing the results – pop_clustedit() Cluster editing – pop_clustedit() Hierarchical clustering Signal processing cluster activities – cls_envtopo() Clustering example – STUDY of 5 datasets

Upload: emily-alexander

Post on 28-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 1

Independent Component Clustering

• Why cluster components?

• EEGLAB studysets: the STUDY structure

• Creating a STUDY – pop_createstudy()

• Preparing the clustering measures – pop_preclust()

• Performing the clustering – pop_clust()

• Reviewing the results – pop_clustedit()

• Cluster editing – pop_clustedit()

• Hierarchical clustering

• Signal processing cluster activities – cls_envtopo()

• Clustering example – STUDY of 5 datasets

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 2

Why cluster components?

• ICA transforms the data from a channel basis

(activity recorded at each channel)

• to a component basis (activity computed at

each independent spatially-filtered cortical or

non-cortical component process).

• Normally, EEG researchers assume that

electrode, say F7 == F7 == F7 ... in each subject

– and then ‘cluster‘ their data by channel ...

• But this is only roughly correct!

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 3S. Makeig, 2005

ScalpICs

IC1

IC2

IC3

IC4

Cortex∑

Example: First Subject

Electrode F7

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 4S. Makeig, 2005

Second Subject

ScalpICs

IC1

IC2

IC3

IC4

Cortex∑

Electrode F7

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 5S. Makeig, 2005

ScalpICs

IC1

IC2

IC3

IC4

CortexElectrode F7

Third Subject

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 6S. Makeig, 2005

ScalpICs

IC1

IC2

IC3

IC4

Cortex∑

Fourth Subject

Electrode F7

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 7

Largest 30 independent components (single subject)

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 8

The same problems hold for clustering independent components

Across Ss, components don’t even have “the same” scalp maps!

Are “the same” components found across subjects?

• What should define “the same” (i.e., “component equivalence”)?

• Similar scalp maps?

• Similar cortical or 3-D equivalent dipole locations?

• Similar activity power spectra?

• Similar ERPs?

• Similar ERSPs?

• Similar ITCs?

• OR …, Similar combinations of the above? …

So how to cluster components?

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 9

Does the spatial distribution of independent components

depend on the task the subject performs?

i.e.

Do “the same” components (and clusters) appear for

every task?

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 10

Equivalent dipole density

Onton et al., 2005

Sternberg letter memory task

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 11

Equivalent dipole density

Onton et al., 2005

Letter twoback with feedback

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 12

Equivalent dipole density

Onton et al., 2005

Auditory oddball plus novel sounds

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 13

Equivalent dipole density

Onton et al., 2005

Emotion imagery task

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 14

Equivalent dipole density Exp I

Onton et al., 2005

Word memory (old/new) task

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 15

Equivalent dipole density Exp II

Onton et al., 2005

Visually cued button press task

Onton et al., ‘05

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 16

… Some caveats

Here,• The electrode locations were not individualized.• MR images were not available co-registration crude.• Single versus dual-dipole model selection was subjective.• Different electrode montages possible location effects

Onton, 2005

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 17

Clustering by spectra (1 subject)

Makeig et al., unpublished

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 18

Visual Selective Attention Task

15 subjects

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 19

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 20

Left mu Right mu

Makeig et al., submitted

Clustering ICA components by eye

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 21

• Clustered components from 15 Ss using a ‘component distance metric’ incorporating differences between their (weighted) scalp maps, dipole locations, spectra, ERP, ERSP, and ITC patterns.

• Hand-adjusted clusters to remove outliers.

• Determined time/frequency regions of significant ERSP and ITC for each component using permutation-based statistics.

• Used binomial statistics to highlight time/frequency regions significantly active within clusters.

Semi-automated clustering

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 22

40

50

60

10 20

40

50

60

40

50

60

Re

lati

ve

Po

we

r (d

B)

Frequency (Hz)10 20 10 20

9 Ss11 Comp

13 Ss 23 Comp

9 Ss 15 Comp

10 Ss13 Comp

8 Ss 9 Comp

8 Ss12 Comp

9 Ss 11 Comp

11 Ss17 Comp

+mean

-

αCP αRPαLP

μRCμLC

ΘFC

CM

LCLC

N1 Component

Clusters

Makeig et al., Science 2002

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 23

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 24

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 25

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 26

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 27

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 28

Complex event-related dynamics underlie ‘the’ P300

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 29

Distributed theta burst event - brainmovie3d()

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 30Onton et al., NeuroImage 2005

A FM cluster during working memory

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 31Onton et al., NeuroImage 2005

The FM cluster accounts for all the memory effect

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 32

• Naïve realism (a.k.a. “expertise”)

• “Yes! … because I know one when I see one!”

• “If it appears where Mu components appear,

and acts like Mu components act,

then it IS a Mu component!”

• Convergent evidence (a.k.a., “doublechecking”)

• Two possible approaches:

• Cluster on PLACE Check ACTIVITY consistency (re task)

• Cluster on ACTIVITY Check PLACE consistency

• Absolute truth:

• More ideal forward and inverse models

• Invasive multiscale recordings + modeling

Are obtained component clusters “real“?

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 33

Not all subjects contribute components to each cluster.

Why not?

• Different numbers of artifact components (~INR)

• Subject differences!?

• Is my subject group a Gaussian cloud??

subject space

Should all subjects be included in each cluster?

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 34

Known Uncertainty

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 35

Cognitive Events

Individual Subjects

The goal of cognitive neuroscience

Phys. Data

Model

Value

AnticipationRe-evaluation

Imagination

Genetics

Culture

Age / Gender

Personality

Multiple Modes

Perturbations Modulations

Distributed Dynamics

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 36

EEGLAB clustering procedure

1. Identify a set of datasets as an EEGLAB study or ‘studyset’.

2. Specify the subject group, subject code, condition and session of

each dataset in the study.

3. Identify components to cluster in each study dataset.

4. Decide on component measures to use in clustering the study

and/or to evaluate the obtained component clusters.

5. Compute the component measures for each study dataset.

6. Cluster the components on these component measures.

7. Review the obtained clusters (e.g., their scalp maps, dipoles, and

activity measures).

8. Edit the clusters (manually remove/shift components, make sub-

clusters, merge clusters, re-cluster).

9. Perform signal processing within or between selected clusters.

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 37

Clustering strategy

1. Cluster on multiple measures (dipole locations, scalp maps, spectra,

ERPs, ITCs, ERSPs) in one or more conditions.

2. Reduce the dimension of each measure to a principal component

subspace.

3. Compose a PCA-reduced position vector for each component.

4. Cluster the composed component vectors using k-means or other.

5. Use the computed component measures (not PCA-reduced) to visualize

the activities and spatial properties of the clustered components.

6. Compute and visualize the cluster-mean measures.

7. Use the clustered study set data as input into std_ functions.

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 38

Cluster ERP contributions - clust_envtopo()

clust_envtopo(STUDY, ALLEEG, 'clusters', [], 'subclus',[3 7 18 20], 'env_erp', 'all', ‘vert', -1100, 'baseline', [-200 0], 'diff', [2 1], 'limits', [-1300 1500 -5 5], 'only_precomp', 'on', 'clustnums' , -4, 'limcontrib', [300 600]);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 39

Component clustering research issues

• Alternative clustering methods

• Clustering goodness-of-fit

• Cluster plotting details

• Add new pre-clustering measures

• Study subject differences!?

• EEGLAB study design issues

• Vector of conditions more general exp. designs

• More complete study statistics

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 40

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 41

Create a STUDY - pop_study()

>> [ STUDY ALLEEG] = pop_study(ALLEEG);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 42

Compute cluster measures - pop_preclust()

>> [ALLEEG, STUDY] = pop_preclust(ALLEEG, STUDY);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 43

Perform clustering - pop_clust()

>> [STUDY] = pop_clust(ALLEEG, STUDY);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 44

Plot cluster-mean scalp maps - pop_culstedit()

>> [STUDY] = pop_clustedit(ALLEEG, STUDY, [2:22]);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 45

Plot the properties of a mu rhythm cluster

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 46

Rename a cluster

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 47

Merge clusters

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 48

Remove components ( outliers cluster #2)

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 49

Reassign components to clusters

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 50

Split a cluster - pop_preclust()

>> [ALLEEG, STUDY] = pop_preclust(ALLEEG, STUDY, 14 );

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 51

Sub-cluster - pop_clust()

>> [STUDY] = pop_clust(ALLEEG, STUDY);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 52

Inspect sub-clusters - pop_clustedit()

>> [STUDY] = pop_clustedit(ALLEEG, STUDY, [23:24]);

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 53

Hierarchical clustering – mu cluster separation

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 54

function [STUDY,grand_erpdiff,clusnval] = std_ERPdiff(STUDY,ALLEEG, clust, cond1, cond2)

% computes the difference ERP of cond1 - cond2

if ~isfield(STUDY.cluster(clust).centroid, 'erp')

STUDY = std_centroid(STUDY,ALLEEG, clust , 'erp');

end % compute cluster grand mean (= centroid) ERPs

% Compute the grand mean difference ERP

grand_erpdiff = STUDY.cluster(clust).centroid.erp{cond1} - STUDY.cluster(clust).centroid.erp{cond2};

try % collect the single-component ERPs for cond1

clusnval1 = std_clusread(STUDY, ALLEEG, clust,'erp',cond1);

catch, disp([ 'ERPdiff: Some ERP information is missing, aborting.'] ); return;

end

try % collect the single-component ERPs for cond2

clusnval2 = std_clusread(STUDY, ALLEEG, clust,'erp',cond2);

catch, disp([ 'ERPdiff: Some ERP information is missing, aborting.'] ); return;

end

% Compute the difference ERPs for the single components

clusnval.erp = clusnval1.erp - clusnval2.erp;

return

Using cluster info – std_ERPdiff()

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 55

Condition difference ERPs

EEGLAB Workshop IV, June 26-29, 2007, Aspet, France: Scott Makeig – Component Clustering 56

Exercise – pop_clustedit()

• Go to the STUDY directory>> cd [study]

• Load STUDY of 5 sample datasets:

>> load [sample.study] -mat– This study is already clustered

• Call:

>> [STUDY] = pop_clustedit(ALLEEG, STUDY);

• Test clustedit options…