Introduction to STAToolkit Jonathan D. Victor Department of Neurology and Neuroscience Weill Cornell...
-
Upload
franklin-bishop -
Category
Documents
-
view
232 -
download
1
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
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
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