Skip to main content

About

toleranceinterval

A small Python library for one-sided tolerance bounds and two-sided tolerance intervals.

Build Status codecov

Methods

Checkout the documentation. This is what has been implemented so far:

twoside

  • normal
  • normal_factor
  • lognormal

oneside

  • normal
  • lognormal
  • non_parametric
  • hanson_koopmans
  • hanson_koopmans_cmh

Requirements

"numpy >= 1.14.0"
"scipy >= 0.19.0"
"sympy >= 1.4"
"setuptools >= 38.6.0"

Installation

python -m pip install toleranceinterval

or clone and install from source

git clone https://github.com/cjekel/tolerance_interval_py
python -m pip install ./tolerance_interval_py

Examples

The syntax follows (x, p, g), where x is the random sample, p is the percentile, and g is the confidence level. Here x can be a single set of random samples, or sets of random samples of the same size.

Estimate the 10th percentile to 95% confidence, of a random sample x using the Hanson and Koopmans 1964 method.

import numpy as np
import toleranceinterval as ti
x = np.random.random(100)
bound = ti.oneside.hanson_koopmans(x, 0.1, 0.95)
print(bound)

Estimate the central 90th percentile to 95% confidence, of a random sample x assuming x follows a Normal distribution.

import numpy as np
import toleranceinterval as ti
x = np.random.random(100)
bound = ti.twoside.normal(x, 0.9, 0.95)
print('Lower bound:', bound[:, 0])
print('Upper bound:', bound[:, 1])

All methods will allow you to specify sets of samples as 2-D numpy arrays. The caveat here is that each set must be the same size. This example estimates the 95th percentile to 90% confidence using the non-parametric method. Here x will be 7 random sample sets, where each set is of 500 random samples.

import numpy as np
import toleranceinterval as ti
x = np.random.random((7, 500))
bound = ti.oneside.non_parametric(x, 0.95, 0.9)
# here bound will print for each set of n=500 samples 
print('Bounds:', bound)

Changelog

Changes will be stored in CHANGELOG.md.

Contributing

All contributions are welcome! Please let me know if you have any questions, or run into any issues.

License

MIT License

Metadata

Release files for toleranceinterval 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for toleranceinterval 1.0.3
File Size Uploaded
toleranceinterval-1.0.3.tar.gz 29.5 kB Details

Release files / toleranceinterval-1.0.3.tar.gz

Download URL toleranceinterval-1.0.3.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
01e1d81bcff0fdfd49982813087a63ae722a8939aaf28caef294e28269e6298e
BLAKE2b-256 checksum
How to use checksums
69d3721df4122476ccb1185458c4d9fc17a7feb1c64203bf8c79720698b17d32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.13

Release history Release notifications | RSS feed

This release

1.0.3 This release

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page