Skip to main content

Package for Bayesian optimal experimental design

Project description

Bayesian Optimal Experiment Design

PyPI package GitHub Release Actions Status License

Use this package to calculate expected information gain for Bayesian optimal experiment design. For an introduction to this topic, see this interactive notebook. To perform a similar calculation with this package, use:

from bed.grid import Grid, GridStack
from bed.design import ExperimentDesigner

designs = Grid(t_obs=np.linspace(0, 5, 51))
features = Grid(y_obs=np.linspace(-1.25, 1.25, 100))
params = Grid(amplitude=1, frequency=np.linspace(0.2, 2.0, 181), offset=0)

sigma_y=0.1
with GridStack(features, designs, params):
    y_mean = params.amplitude * np.sin(params.frequency * (designs.t_obs - params.offset))
    y_diff = features.y_obs - y_mean
    likelihood = np.exp(-0.5 * (y_diff / sigma_y) ** 2)
    features.normalize(likelihood)

designer = ExperimentDesigner(params, features, designs, likelihood)

prior = np.ones(params.shape)
params.normalize(prior);

designer.calculateEIG(prior)

plt.plot(designs.t_obs, designer.EIG)

Browse the examples folder to learn more about using this package.

To run the examples in google colab, select GitHub and enter https://github.com/dkirkby/bayesdesign.

Installation

Install the latest released version from pypi using:

pip install bayesdesign

The only required dependency is numpy. The optional plot module also requires matplotlib.

The changes with each version are documented here.

Upgrade

To upgrade your pip-installed package to the latest released version use:

pip install bayesdesign --upgrade

Contributing

If you have feedback or would like to contribute to this package, please see our contributor's guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bayesdesign-0.7.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bayesdesign-0.7.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file bayesdesign-0.7.1.tar.gz.

File metadata

  • Download URL: bayesdesign-0.7.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bayesdesign-0.7.1.tar.gz
Algorithm Hash digest
SHA256 04d3e1737a65a9e4bd35cfe895d85f8a70f51b9bff547d2400522362047a6ae9
MD5 963c32d5c5daa086aeff077540cfe5ac
BLAKE2b-256 2d35efde0a6a8ac8f803f9e29683891c9320363eef278d0646c182bb504ea133

See more details on using hashes here.

Provenance

The following attestation bundles were made for bayesdesign-0.7.1.tar.gz:

Publisher: release.yml on dkirkby/bayesdesign

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bayesdesign-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: bayesdesign-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bayesdesign-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a6f6a2d661782d6e69447752d433e5460eecf5c17dc70ef852435f0671efe869
MD5 0b440a5ad9b34afd31f334054d0b4da1
BLAKE2b-256 04326b2b24bada51666a24f9ce8e9486121213cd8c06a7eaed8433ce37de0aed

See more details on using hashes here.

Provenance

The following attestation bundles were made for bayesdesign-0.7.1-py3-none-any.whl:

Publisher: release.yml on dkirkby/bayesdesign

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page