[RFC] Kirstine.jl - Bayesian Optimal Design for Nonlinear Regression

I wrote Kirstine.jl, a package for finding Bayesian optimal designs for nonlinear regression models, i.e. for answering the question “What proportion of measurements should I take at which covariate settings in order to maximize the expected precision of the parameter estimates?”.

Features:

  • D- and A-optimal design
  • Bayesian and locally optimal design
  • Arbitrary transformations of the model parameter
  • Arbitrary priors via Monte-Carlo integration
  • Particle swarm optimization
  • Extendable with new design regions, design criteria, or particle-based optimizers.

(Note that this is a different thing than factorial designs, which are covered by ExperimentalDesign.jl)

Caveats:

  • The interface is not as polished as it could be, hence not yet fully stable.
  • The Jacobian matrices of the mean function and the transformation must be specified manually for now. I might look into integration with one of the autodiff packages at a later time.
  • Random effects models are not supported.
  • Not yet registered.

Feedback Wanted:

I think the package is basically usable now and I would be happy about feedback, especially on whether there is a better way to use macros for boilerplate code generation (I don’t want to have to tell it the module name explicitly).

This is my first Julia package, so if I have made obvious mistakes somewhere, I would be happy to hear about them, too!

9 Likes