Skip to content

Instantly share code, notes, and snippets.

@joezuntz
Last active July 28, 2016 09:11
Show Gist options
  • Save joezuntz/879f069cb5447f8027d48d425a4e77db to your computer and use it in GitHub Desktop.
Save joezuntz/879f069cb5447f8027d48d425a4e77db to your computer and use it in GitHub Desktop.

Some guidelines for statisticians/mathematicians writing samplers and minimizers if they want them to be useful to scientists.

  • We don't need bespoke, highly-trained algorithms: we need general methods that need minimal human supervision.
  • If your algorithm isn't parallel then it is unlikely to be useful (we have a lot of CPUs).
  • We don't have the derivative of the likelihood in most cases. It's hard enough calculating the likelihood itself.
  • Dumb down the paper a little for us; we spend most of our time doing other things.
  • If you supply some code along with your algorithm we are vastly more likely to at least give it a try.
  • Write your code in Python or C (or maybe C++ if you must). We need to integrate your it into more general frameworks, not statistical toolboxes.
  • Write your code as a library that we can call from our own programmes, not as a top-level program on its own.
  • Don't do I/O yourself in your code. We'll handle that, just return some samples/values/metadata/whatever.
  • Sometimes our log-likelihoods are going to return -inf or Nan. You need to deal with this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment