EnsembleKalmanProcesses

EnsembleKalmanProcesses.jl (EKP) is a library of derivative-free Bayesian optimization techniques based on ensemble Kalman Filters, a well known family of approximate filters used for data assimilation. The tools in this library enable fitting parameters found in expensive black-box computer codes without the need for adjoints or derivatives. This property makes them particularly useful when calibrating non-deterministic models, or when the training data are noisy.

Currently, the following methods are implemented in the library:

  • Ensemble Kalman Inversion (EKI) - The traditional optimization technique based on the Ensemble Kalman Filter EnKF (Iglesias, Law, Stuart, 2013),
  • Ensemble Kalman Sampler (EKS) - also obtains a Gaussian Approximation of the posterior distribution, through a Monte Carlo integration (Garbuno-Inigo, Hoffmann, Li, Stuart, 2020),
  • Unscented Kalman Inversion (UKI) - also obtains a Gaussian Approximation of the posterior distribution, through a quadrature based integration approach (Huang, Schneider, Stuart, 2022),
  • Sparsity-inducing Ensemble Kalman Inversion (SEKI) - Additionally adds approximate $L^0$ and $L^1$ penalization to the EKI (Schneider, Stuart, Wu, 2020).
ModulePurpose
EnsembleKalmanProcesses.jlCollection of all tools
EnsembleKalmanProcess.jlImplementations of EKI, EKS, UKI, and SEKI
Observations.jlStructure to hold observational data
ParameterDistributions.jlStructures to hold prior and posterior distributions
DataContainers.jlStructure to hold model parameters and outputs
Localizers.jlCovariance localization kernels

Learning the amplitude and vertical shift of a sine curve

Ensemble of parameter estimates by iteration

See full example for the code.

Authors

EnsembleKalmanProcesses.jl is being developed by the Climate Modeling Alliance. The main developers are Oliver R. A. Dunbar and Ignacio Lopez-Gomez.