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!