/otkerneldesign

Python package to generate designs of experiments using kernel based methods such as Kernel Herding and Support Points

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

otkerneldesign

This Python module generates designs of experiments based on kernel methods such as Kernel Herding and Support Points with the classes:

  • KernelHerding
  • KernelHerdingTensorized
  • GreedySupportPoints

Additionally, optimal weights for quadrature and validation designs are provided by the classes:

  • BayesianQuadratureWeighting
  • TestSetWeighting

Installation

~$ pip install otkerneldesign

Documentation & references

Example

>>> import openturns as ot
>>> import otkerneldesign as otkd
>>> # Distribution definition
>>> distribution = ot.ComposedDistribution([ot.Normal(0.5, 0.1)] * 2)
>>> dimension = distribution.getDimension()
>>> # Kernel definition
>>> ker_list = [ot.MaternModel([0.1], [1.0], 2.5)] * dimension
>>> kernel = ot.ProductCovarianceModel(ker_list)
>>> # Kernel herding design
>>> kh = otkd.KernelHerding(kernel=kernel, distribution=distribution)
>>> kh_design, kh_indices = kh.select_design(size=20)

normal_kh

Authors

  • Elias Fekhari
  • Joseph MurĂ©