Advanced Neural Data Analysis (ANDA)
Analysis techniques for high-dimensional electrophysiology data. Learn state-of-the-art methods to analyze recordings from hundreds of neurons during complex behaviors—essential for modern systems neuroscience.
Authors
Modern electrophysiology can capture the activity of many neurons simultaneously, providing a window into how neural populations process information and support behavior. These recordings are noisy, variable and high-dimensional, making their interpretation a central challenge in systems neuroscience.
Advanced Neural Data Analysis introduces statistical and computational approaches for identifying meaningful structure in electrophysiological data. The course considers neural activity across several scales, from the firing statistics of individual neurons to coordinated activity and dynamics across populations. Major themes include spike-train variability, correlations and synchrony, spectral and time-frequency analysis, state-space modeling, and dimensionality reduction.
Overview
The course combines conceptual foundations with practical analysis in Python. Simulated and experimental recordings are used to examine the assumptions, strengths and limitations of different methods. Particular emphasis is placed on statistical controls, uncertainty, model interpretation and the relationship between an analysis result and the underlying neural process.
Together, the course topics provide complementary perspectives on neural data: how activity varies, how signals are coordinated, how population structure changes over time and how complex recordings can be represented through simpler latent patterns. The overall aim is to develop a principled framework for selecting, applying and evaluating modern methods for neural data analysis.
Further Reading
- Elephant documentation: analysis tools for electrophysiological data in Python
- Neo documentation: data structures for representing electrophysiology recordings
Credits
Installation
To run the course materials on your own machine:
- Install VSCode as your editor
- Install pixi or alternatively conda to create virtual Python environments (see the lessons on environment and package management)
- Download the materials for a lesson using the "Download Materials" button
- Extract the zip file and open the notebook in VSCode
- In VSCode, open a new terminal and install the environment:
pixi installconda env create -f environment.yml
conda activate anda-courseTo run the materials for this course, it is recommended that you:
- Install Pixi or alternatively Conda to create virtual environments
- Install Git for version control
- Create a GitHub account
- Install VSCode as a code editor
Note: VSCode not working for you? No problem! All work is done inside Jupyter Notebooks in this course, so if you’d like to use a different editor, please feel free.
- For Jupyter Lab:
pixi run install-kernelthenpixi run jupytergets Jupyter Lab working quickly, - For Google Collab: A Collab link is provied in every notebook
Course Contents
Spike Train Correlations: Measuring Neural Interactions in the Brain
Simulating Spike Trains as Poisson Processes
Use stationary Poisson processes to simulate neural spike trains and visualize them using Python and Neo.
Cross-Correlation Histograms of Neuronal Spike Trains and Surrogate Methods for Null-Hypothesis Testing
Use stationary Poisson processes to simulate neural spike trains and visualize them.
Unitary Event Analysis (UAE) and SPADE
Discover Spike Synchrony with Coincidence Detection.
State Space Analysis
Binary Population Codes
Prepare for the Ising model session: binarize spike trains, compute empirical word distributions and expectation parameters, and evaluate a first Ising model distribution.
The Ising Model of Neural Populations
Explore the pairwise maximum-entropy Ising model: generate binary spike patterns, fit natural and expectation parameters using the EM algorithm, and assess pairwise interaction strength with thermodynamic quantities.
Dynamic Correlations with State-Space Smoothing
Track time-varying Ising model parameters using a state-space EM algorithm, quantify estimation uncertainty with posterior credible bands, and analyze thermodynamic signatures of dynamic pairwise interactions.
Dimensionality Reduction
PCA for Feature Extraction in Spike Sorting
Apply PCA to extracellular recordings for clustering spikes and identifying individual units
Dimensionality Reduction on Neural Population Activity
Use principal component analysis (PCA) and singular value decomposition (SVD) to explore low-dimensional structure in neural population activity.
Probabilistic Dimensionality Reduction with PPCA, FA, and GPFA
This notebook goes beyond plain PCA and introduces three different generative models for dimensionality reduction: probabilistic PCA (PPCA), factor analysis (FA), and Gaussian process factor analysis (GPFA).
Cortical Variability Dynamics
Simulating Neurons as Poisson Processes
Use non-stationary Poisson processes to simulate neural spike trains, analyze spike time variability with the coefficient of variation
Spike Train Rasters and Firing Irregularity
Explore trial-aligned spike train rasters from monkey motor cortex, characterise inter-spike interval variability with the coefficient of variation, and introduce local rate-insensitive irregularity measures CV2 and Lv.
Trial-by-Trial Variability and Firing Irregularity
Measure the time-resolved Fano factor in motor cortex spike trains, compare interval and count variability across a population of neurons, and interpret deviations from the renewal prediction FF = CV2² in terms of cortical network dynamics.
Spectral Analysis
Power Spectra and Time-Frequency Analysis
Relationship between signal recording properties and frequency spectrum resolution and how to get time-resolved frequency spectra with Morlet Wavelets
Spectral Analysis Practice
Generate toy signals, apply Fourier transform, multitapering, and Morlet wavelet to signals
Spectral Coherence and Phase Locking
Spectral coherence and phase locking of signals to reveal dynamics between brain regions