A Julia package for Bayesian optimal experimental design with nonlinear regression models.
repo | docs | change log
Beta. Mostly stable, breaking changes will be mostly cosmetic.
- arbitrary nonlinear regression models
- scalar or vector-valued response variable
- variance-covariance matrix may depend on covariate
- Bayesian and locally optimal design
- design criteria: D, A
- composite design problems
- separation of design variables and model covariates
- particle swarm optimization
- direct maximization and exchange algorithm
- modular and extendable
- minimal dependencies
Kirstine.jl is in the General Julia package registry. You can install it with
Pkg.add("Kirstine")
Alternatively, you can get it directly from sourcehut:
Pkg.add(url = "https://git.sr.ht/~lsandig/Kirstine.jl")
To get started, read the tutorial.
For a change log, see the list of annotated tags.
There is also a separate repository with additional examples.
Kirstine.jl is free and open source software. The code is licensed under GPL-3.0 or later, and the documentation under GFDL-1.3 or later.
Why yet another package for optimal design?
In R
, there is already the ICAOD package
for finding optimal designs in any model
of which you can implement the Fisher information matrix.
However,
it is not as efficient as it could be
and the code base is hard to extend for more complicated design problems.
There are also various other packages (e.g., DoseFinding or PopED)
for optimal design with special criteria or special kinds of nonlinear regression models.
In Julia
, there is already ExperimentalDesign.jl
for block, factorial and response-surface designs in linear regression/ANOVA and polynomial regression models.
Kirstine.jl is an attempt to provide applied statisticians
with a Julia
package for optimal design in arbitrary nonlinear regression models.
Its development goals are speed and modularity,
as well as a small, stable and well-documented code base.
The source code of Kirstine.jl is managed on sourcehut.
Please post usage questions and general discussion on the kirstine-users mailing list.
Only bug reports should be filed on the issue tracker.
Patches are welcome and should be submitted via git send-email
to the kirstine-devel mailing list.
Please make sure that your patch does not break any existing tests
and includes new tests for any functionality it adds.