Introduction to STAToolkit Jonathan D. Victor Department of Neurology and Neuroscience Weill Cornell...

22
Introduction to STAToolkit Jonathan D. Victor Department of Neurology and Neuroscience Weill Cornell Medical College August 2008 and updated as of January 2010 Adapted from MBL Course in Neuro-Informatics and data interchange with Chronux

Transcript of Introduction to STAToolkit Jonathan D. Victor Department of Neurology and Neuroscience Weill Cornell...

Introduction to STAToolkit

Jonathan D. Victor

Department of Neurology and NeuroscienceWeill Cornell Medical College

August 2008and updated as of January

2010

Adapted fromMBL Course in Neuro-Informatics

and data interchange with Chronux

CreditsLaboratory of Neuroinformatics at Weill Cornell Medical College

neuroanalysis.org

Dan GardnerMichael RepucciDavid GoldbergEliza ChanAjit Jagdale

Support: Human Brain Project/Neuroinformatics Grant MH068012 from NIMH, NINDS, NIA, NIBIB, and NSF

STAToolkitData and

metadata:.stam, stad, stap format

Data and metadata: Xin

format

STAToolkit algorithms

STAToolkit results

neurodatabase.org

Data and metadata: xml format

User Interface

chronuxchronux algorithms

chronux results Data and

metadata: MATLAB structure

STAToolkit<->Chronux Data/Metadata Pathways

User data and

metadata, user

format

Data and metadata:

NEX format

Data and metadata:

DDT format

Data and metadata: PLX format

Supplied by user

Supplied by chronux

In course demo

Supplied by neurodatabase.org

STAToolkit Overview

• Open source

• PC, Mac, Linux

• Downloadable or web-based

• Modular– High-level modules: matlab– Low-level modules: matlab wrappers around c

Outline: STAToolkit Intro and Demo

• Input data structure

• Output data structures

• Implementation of information-theoretic methods– Key computational modules– Key options

• Examples– Chronux -> STAToolkit: this presentation– STAToolkit-> Chronux: see online resources

Input Data Structure

• A dataset has– N labeled recording sites (channels, units, etc.)– M labeled stimulus categories

• Each (recording site, stimulus category) pair has a list of trials– Start time, stop time– Event times

• Above can be– Created as a matlab structure– Read with staread.m (in STAToolkit)– Imported from Chronux with chronux2statinsp.m

http://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_inputformat

Output Data Structures

• 1-D count structures (histograms)– e.g., number of occurrences of each response symbol– entropy estimates from count histograms

• 2-D structures (tables)– e.g., count of stimulus/response pairings– information estimates from count tables

• Entropy and information estimates– for each method, value and estimated variance– entropy methods

• plug-in• plug-in with classic (k-1)/N (“Treves-Panzeri-Miller-Carlton”) debiaser• plug-in with jackknife debiaser• Ma bound• Paninski BUB estimator• Chao-Shen estimator• Wolpert-Wolf estimator• NSB

– information estimates derived from entropy estimates

http://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_outputstruct

Modular Implementation: Overviewhttp://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_intro

STAToolkit high-level module

options

spike trains

information estimates

Easy way

Other way

options

spike trains

information estimates

low-level module

low-level module

low-level module

auxiliary output

auxiliary output

auxiliary output

Modular Implementation: Details

directbin.m: bin the spike trainsdirectcountcond.m: create histograms of word countsinfocond.m: calculate information from distributions of word counts

directcat.m: direct method (categorical stimuli)

binlesswarp.m: warp time to uniformize firing ratebinlessembed.m: embed the spike trains in a Euclidean spacebinlessinfo.m: calculate information via nearest-neighbor method

binless.m: binless embedding method

metricdist.m: calculate distances between pairs of spike trainsmetricclust.m: cluster spike trains basd on distance matrixmatrixhist2d.m: form a confusion matrix from clusteringinfo2d.m: calculate information from confusion matrix

metric.m: metric space method

directbin.m: bin the spike trainsdirectcondformal.m: create conditional histograms of word countsdirectcounttotal.m: create histograms of total word countsinfocond.m: calculate information from distributions of word counts

directformal.m: direct method (continuous stimuli)

http://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_intro

STAToolkit: Options and Parametershttp://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_infoopts

bin sizemultineuronal strategy

direct method

embedding dimension(s)warping parameterssingleton strategy

binless embedding method

metric family (spike time or spike interval)shift costlabel costclustering exponent

metric space method

start and end timeentropy estimation method(s) and parametersvariance estimation method(s)

shared

Spike Train Analysis

Toolkit: Web-based

documentation

STAToolkit/Chronux Demo: Importing Data

LIP sample data from Chronux

chronux2statinsp.m

both neurons, all 8 directions

STAToolkit/Chronux Demo: Selecting Data

LIP sample data from Chronux

chronux2statinsp.m

both neurons,all 8 directions

one neuron, directions 3, 5, 6,

-1 to +2 sec

Spike Train Analysis Server:Web-based data selection and parsing

STAToolkit Demo: Direct Methodstatoolkit_demo_directcat.m, directcat.m

one neuron, directions 3, 5, 6, -1 to +2 sec

1684210.50.25-0.5

0

0.5

1

1.5

2

2.5

Inverse bin size (1/sec)

Information (bits)

No correctionTPMC correction

Jackknife correction

1684210.50.25-0.5

0

0.5

1

1.5

2

2.5

Inverse bin size (1/sec)

Information (bits)

Original data ( 2 SE via Jackknife)Shuffled data ( 2 SD)

STAToolkit Demo: Binless Methodstatoolkit_demo_binless.m, binless.m

-50

0

50

-40-20

020

-15

-10

-5

0

5

10

15

Dimension 1

Embedded spike trains

Dimension 2

Dimension 3

1 2 3 4 5

-2

-1

0

1

2

Maximal embedding dimension

Information (bits) TotalTimingCount

1 2 3 4 5

Maximal embedding dimension

Information (bits)

-2

-1

0

1

2

Original data ( 2 SE)Shuffled data ( 2 SD)

one neuron, directions 3, 5, 6, -1 to +2 sec

STAToolkit Demo: Metric Space Methodstatoolkit_demo_metric.m, metric.m

Spike train index

Spike train index

Distance matrix at maximum information

(q=1)

5 10 15 20 25 30

5

10

15

20

25

30

00.51 2 4 8 16 64 256

0

1

2

Information (bits)

No correctionTPMC correction

Jackknife correction

Temporal precision (q, 1/sec)

Original data ( 2 SE)Shuffled data ( 2 SD)

00.51 2 4 16 64 256

0

1

2

Information (bits)

8

Temporal precision (q, 1/sec)

one neuron, directions 3, 5, 6, -1 to +2 sec

STAToolkit/Chronux Demo, Multiunit Analysis:Selecting Data

LIP sample data from Chronux

chronux2statinsp.m

both neurons, directions 3, 5, 6, -0.1 to +0.3 sec

STAToolkit Demo, Multiunit Analysis:Direct Method

LIP sample data from Chronux

both neurons, directions 3, 5, 6, -0.1 to +0.3 sec

statoolkit_demo_directcat.m, directcat.m

Inverse bin size (1/sec)

Information (bits)

1684210.50.25

0

1

2

Information (bits)

No correctionTPMC correction

Jackknife correction

1684210.50.25

0

1

2

Inverse bin size (1/sec)

Original data 2 SE via Jackknife)

Shuffled data ( 2 SD)

statoolkit_demo_metric_mu_dbs.m, modules of metric.m

from shuffled data

k (label cost)q (shift cost, s

-1 )k (label cost)

q (shift cost, s-1 )

k (label cost)q (shift cost, s

-1 )

plug-in estimate tpmc debiased jackknife debiased

distance matrix at q=2.8, k=0.5

STAToolkit Demo, Multiunit Analysis:Mertric Space Method (Debiasing and Shuffling)

both neurons, directions 3, 5, 6, -0.1 to +0.3 sec

LIP sample data from Chronuxstatoolkit_demo_metric_mu_dbs.m, modules of metric.m

STAToolkit Demo, Multiunit Analysis:Metric Space Method (Redundancy)

both neurons, directions 3, 5, 6, -0.1 to +0.3 sec

LIP sample data from Chronuxstatoolkit_demo_metric_mu_red.m, modules of metric.m

k (label cost)

Red

unda

ncy

Inde

x

k (label cost) q (shift cost, sec-1)

H (

bits

)

1 2

1 2 1 2

( )

( ) max( , )jointH H H

RIH H H H

redundancyboth neurons vs. each neuron

Electronic Resources

• STAToolkit: http://neuroanalysis.org/neuroanalysis/goto.do?page=.repository.toolkit_home

• Chronux: http://www.chronux.org

• Primary and review articles:– http://www-users.med.cornell.edu/~jdvicto/jdvpubsc.html

• Background on metric space method– http://www-users.med.cornell.edu/~jdvicto/metricdf.html

• Demos (in this wiki, in STAToolkitChronuxDemos.zip)– chronux2statin_demo.m– statin2chronux_demo.m