Code

Code developed for our work on Bayesian nonparametric methods and Hamiltonian Monte Carlo samplers, and their application to neural, genomic, and other biomedical data.

Please get in touch if you need help using any of it. Most recent work is on GitHub.

Grassmann HMC

A dimensionality reduction method using Grassmann HMC. Joint work with Andrew Holbrook and Alexander Vandenberg-Rodes.

A Dynamic Bayesian Model for Neuronal Interactions

A dynamic Bayesian method (published in JASA) for analyzing multiple neurons. Joint work with Bo Zhou, Sam Behseta, Hernando Ombao, and David Moorman.

Detecting Synchrony Among Multiple Neurons

An approach for detecting multiway synchrony among neurons. With Bo Zhou, Shiwei Lan, Sam Behseta, Hernando Ombao, and David Moorman.

Wormhole Hamiltonian Monte Carlo (WHMC)

With Shiwei Lan and Jeff Streets. Samples from multimodal distributions even in high dimensions.

Lagrangian Monte Carlo (LMC)

With Shiwei Lan, Vassilios Stathopoulos, and Mark Girolami. A fully explicit integrator for Riemannian Manifold Monte Carlo, equivalent to transforming Riemannian Hamiltonian dynamics to Lagrangian dynamics.

Split Hamiltonian Monte Carlo (Split HMC)

With Radford Neal and Shiwei Lan. Splits the Hamiltonian so that much of the movement around the state space is performed at low computational cost.

Nonlinear Models Using Dirichlet Process Mixtures

A nonlinear method that models the joint distribution of response and covariates with Dirichlet process mixtures of linear models. Joint work with Radford Neal.

Hierarchical Classification

Files related to our work (with Radford Neal) on classification when classes have a hierarchical structure.

MNL — simple Bayesian multinomial model (classes as unrelated entities). treeMNL — hierarchical classes via nested multinomial logit models. corMNL — our proposed method, taking the hierarchy as a prior. makeTree — builds a tree structure from a matrix of classes.

Bayesian Relevance Determination (BRD)

With Wes Johnson. A nonparametric Bayesian method that divides genes into subgroups by their degree of relevance to the outcome of interest.