I’ve always enjoyed the Gaussian Process part of the PyMC package, and a question on the mailing list yesterday reminded me of a project I worked on with it that never came to fruition: how to implement constraints on the derivatives of the GP.
The best answer I could come up with is to use “potential” nodes, and do it approximately. That is to say, instead of constraining the derivative, I satisfy myself to constrain a secant that approximates the derivative. And instead of constraining it at every point in an interval, I satisfy myself to constrain it at a discrete subset of points.
Here is an ipython notebook example: [ipynb] [py]
I’m on a self-imposed blog fast until I finish sending out thank-you notes for all of the love, support, and baby gifts I’ve received over the last few months. (Plus there is a book manuscript on my desk with hundreds of copy edits to make…)
But I’m breaking my rule to announce that I’ve been selected by Technology Review as a TR35 Young Innovator. Thanks for the kind words and support I’ve received! Also, thanks to my colleagues at IHME and elsewhere for all of the hard work; without this labor, my innovations would languish in obscurity.