Dirichlet Process Mixture Modeling Alternative to Spike Sorting
This self-contained MATLAB code release contains a Dirichlet process mixture model spike sorter with Gibbs and particle filter posterior estimation. Included is an example script showing how to get started using the code on your own neural data (or for that matter any other kind of data for which multivariate Gaussian mixture modelling is appropriate. This MATLAB code (.zip .tar.gz) was used to generate the results in the 2008 Journal of Neuroscience Methods paper A nonparametric Bayesian alternative to spike sorting PDF Preprint..
Indian Buffet Process (IBP)
Included in this distribution is matlab code to generate posterior samples for linear Gaussian and binary matrix factorization (noisy-or) Indian Buffet Process models. Code similar to this was used to generate the results in Particle filtering for non-parametric Bayesian matrix factorization PDF and A non-parametric Bayesian method for inferring hidden causes PDF. Three different posterior sampling algorithms are provided: Gibbs, reversible jump Markov chain Monte Carlo (RJMCMC), and sequential importance sampling (SIS). Only the Gibbs and SIS samplers are provided for the linear Gaussian IBP models. .tar.gz .zip
Hypergeometric Functions
Matlab contains a Hypergeometric1F1 function named hypergeom which unfortunately calls underlying maple symbolic routines. These scripts numerically approximate the function value by truncating the underlying series: Hypergeometric1F1.m Hypergeometric1F1Regularized.m
Infinite Gaussian Mixture Model (IGMM) / Dirichlet process (DP) mixture model
This distribution contains a matlab Markov chain Monte Carlo (MCMC) sampler for a DP mixture model with Gaussian likelihoods and Wishart prior. This code was used in A non-parametric Bayesian approach to spike sorting PDF. This is a generic implementation with a simple example application. .zip
Particle Filter Neural Decoding
This code forms the basis for my EMBS 2005 submission entitled Inferring attentional state and kinematics from motor cortical firing rates .pdf. In this work a mixed continuous (monkey hand state) and discrete (attentional state) model is defined and a particle filter is used to recursively estimate both simultaneously from firing rates from the same motor cortical population. .zip