Random generation of binary and integer matrices with specified margins

Exact uniform sampling

  • J Miller, M Harrison (2013) Exact sampling and counting for fixed-margin matrices. Annals of Statistics, 41: 1569-1592.
  • Software for this project can be found on Jeff Miller's software page under the EXACT project.
  • The code is in C with Matlab, R, and python wrappers. It scales to moderately sized or extremely sparse matrices.

Approximate uniform sampling

  • M Harrison (2009) A dynamic programming approach for approximate uniform generation of binary matrices with specified margins. arXiv:0906.1004.
  • Software is available on the Matlab Central File Exchange. The code is a relatively efficient Matlab implementation contained in a single m-file. For a binary matrix with M rows and D ones, a single random matrix requires roughly O(MD) operations. Although the sampling is only approximately uniform, it can be used as an importance sampling proposal distribution when the target distribution is uniform.

Approximate weighted sampling

  • M Harrison, J Miller (2013) Importance sampling for weighted binary random matrices with specified margins. arXiv:1301.3928.
  • This project is still under development, however, preliminary versions of a Matlab implementation are included in the EXACT project above, and also the archive paper has Matlab code in the appendix which can be cut and paste.

Jitter and related spike train resampling algorithms

Pattern jitter

  • M Harrison, S Geman (2009) A rate and history-preserving resampling algorithm for neural spike trains. Neural Computation, 21: 1244-1258.
  • Software can be found at www.dam.brown.edu/ptg/jitter. There is a Matlab implementation with a lot of flexibility for controlling the resampling. It could use an overhaul to take better advantage of Matlab's improved JIT compilers and to facilitate evaluation on large multiple-neuron datasets.

Spatio-temporal jitter

  • M Harrison, A Amarasingham, W Truccolo (to appear) Spatio-temporal conditional inference and hypothesis tests for neural ensemble spiking precision. Neural Computation.
  • Matlab software coming soon ...