Skip to main content

Confidence intervals for binomial distributions.

Project description

binomial_cis

This package computes confidence intervals for the probability of success parameter, $p$, of a binomial distribution. The confidence intervals computed by this package cover $p$ with exactly the user-specified probability and have minimal excess length.

Documentation

The documentation for the package can be found at: https://tri-ml.github.io/binomial_cis.

Installation

Install the package with pip:

pip install binomial_cis

What does this package do?

This package constructs optimal confidence intervals for the probability of success parameter, $p$, of a binomial distribution.

Lower Bounds

Given user specified miscoverage rate ($\alpha$) and maximum expected shortage ($\text{MES}$), return a lower bound on $p$ that satisfies the following requirements:

  1. achieves exact desired coverage: $\mathbb{P}[\underline{p} \le p] = 1-\alpha$,
  2. $[\underline{p}, 1]$ is uniformly most accurate,
  3. achieves exact desired maximum expected shortage: $\max_p \ \mathbb{E}_p[\max (p - \underline{p}, 0)] = \text{MES}$,
  4. uses the minimum number of samples $n$ to achieve requirements 1,2,3.

Upper Bounds

Given user specified miscoverage rate ($\alpha$) and maximum expected excess ($\text{MEE}$), return an upper bound on $p$ that satisfies the following requirements:

  1. achieves exact desired coverage: $\mathbb{P}[p \le \overline{p}] = 1-\alpha$,
  2. $[0, \overline{p}]$ is uniformly most accurate,
  3. achieves exact desired maximum expected excess: $\max_p \ \mathbb{E}_p[\max (\overline{p} - p, 0)] = \text{MEE}$,
  4. uses the minimum number of samples $n$ to achieve requirements 1,2,3.

2-Sided Bounds

Given the user specified miscoverage rate ($\alpha$) and maximum expected width ($\text{MEW}$), return simultaneous lower and upper bounds on $p$ that satisfy the following requirements:

  1. achieves exact desired coverage: $\mathbb{P}[\underline{p} \le p \le \overline{p}] = 1-\alpha$,
  2. $[\underline{p}, \overline{p}]$ is uniformly most accurate unbiased,
  3. achieves exact desired maximum expected width: $\max_p \ \mathbb{E}_p[\overline{p} - \underline{p}] = \text{MEW}$,
  4. uses the minimum number of samples $n$ to achieve requirements 1,2,3.

How do I use this package?

Lower Bounds

Find a lower bound on $p$:

from binomial_cis import binom_ci

k = 5 # number of successes
n = 10 # number of trials
alpha = 0.05 # miscoverage probability

lb = binom_ci(k, n, alpha, 'lb')

Find maximum expected shortage given miscoverage rate and number of samples:

from binomial_cis import max_expected_shortage

mes_ub, mes_lb, p_lb, num_iters = max_expected_shortage(alpha, n, tol=1e-3)

Upper Bounds

Find an upper bound on $p$:

from binomial_cis import binom_ci

k = 5 # number of successes
n = 10 # number of trials
alpha = 0.05 # miscoverage probability

ub = binom_ci(k, n, alpha, 'ub')

Find maximum expected excess given miscoverage rate and number of samples:

from binomial_cis import max_expected_excess

mee_ub, mee_lb, p_lb, num_iters = max_expected_excess(alpha, n, tol=1e-3)

2-Sided Bounds

Find simultaneous lower and upper bounds on $p$:

from binomial_cis import binom_ci

k = 5 # number of successes
n = 10 # number of trials
alpha = 0.05 # miscoverage probability

lb, ub = binom_ci(k, n, alpha, 'lb,ub')

Find maximum expected width given miscoverage rate and number of samples:

from binomial_cis import max_expected_width

mew_ub, mew_lb, p_lb, num_iters = max_expected_width(alpha, n, tol=1e-3)

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

binomial_cis-0.0.12.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

binomial_cis-0.0.12-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file binomial_cis-0.0.12.tar.gz.

File metadata

  • Download URL: binomial_cis-0.0.12.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for binomial_cis-0.0.12.tar.gz
Algorithm Hash digest
SHA256 55fc4967b2a30fafae761f7b3163ee42a748c41c9f710209d8cf8bc2953a51bc
MD5 ac4deee58d211a3466ad53f62974dc17
BLAKE2b-256 14b4de24057c0c8fd909bf6fe1d4b4dfba0ee05f3186326e6cf9fb55a2e35e0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for binomial_cis-0.0.12.tar.gz:

Publisher: pypi-release.yml on TRI-ML/binomial_cis

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

File details

Details for the file binomial_cis-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: binomial_cis-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for binomial_cis-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 38928ecd33e8d4d0ceea292bdcb620c4921d5dd65f3fefe53b51a71cad2c5bcf
MD5 7dc737a0fd498a821ec60ac6f65a18fe
BLAKE2b-256 6b74f59780bd9ecc5cbbdeb1c3d3aa07bd211708ad9d731064483142b1f62469

See more details on using hashes here.

Provenance

The following attestation bundles were made for binomial_cis-0.0.12-py3-none-any.whl:

Publisher: pypi-release.yml on TRI-ML/binomial_cis

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