Skip to main content

Probability Distributions for Python.

Project description

probplotlib

Probability Distributions for Python

GitHub

The Statistical Void

Stats can get tricky in the transition from plotting fun graphs to advanced algebraic equations. A classic example is the given sum:

1.0e14 + 1.0 - 1.0e14

The actual result is 1.0 but in double precision, this will result in 0.0. While in this example the failure is quite obvious, it can get a lot trickier than that. Instances like these hinder the community from exploring the inferential potential of complex entities.

p=Gaussian(a,b)
q=Gaussian(x,y)
p+q

This snippet would be close to useless as python addition doesn't isn't attributed for higher-level declarables such as Gaussian variables. probplotlib provides simple solutions for probability distributions; posing a highly-optimized alternative to numpy and math, in a niche that is scarce in options.

Usage

probplotlib has the following operative methods:

  • +: uses Dunder Methods for facilitating dist-additions.

  • calculate_mean(): returns the mean of a distribution.

gaussianex = Gaussian()
calculate_mean(gaussianx)
  • calculate_stdev(): returns the standard deviation of a distribution.
binomialex = Binomial()
calculate_stdev(binomialex)
  • read_dataset(): reads an external .txt dataset directly as a distribution.
gaussianex.read_dataset('values.txt')
binomialex.read_dataset('values.txt')
  • params(): retrieves the identity parameters of an imported dataset.
gaussianex.params()
binomialex.params()
  • pdf(): returns the probability density function at a given point.
pdf(gaussianex, 2)

functions unique to Gaussian Distributions:

  • plot_histogram(): uses matplotlib to display a histogram of the Gaussian Distribution.
gaussianex.plot_histogram()
  • plot_histogram_pdf(): uses matplotlib to display a co-relative plot along with the Gaussian probability density function.
gaussianex.plot_histogram_pdf()

functions unique to Binomial Distributions:

  • plot_bar(): uses matplotlib to display a bar graph of the Binomial Distribution.
binomialex.plot_bar()
  • plot_bar_pdf(): uses matplotlib to display a co-relative plot along with the Binomial probability density function.
binomialex.plot_bar_pdf()

Data Visualization

probplotlib therefore allows you to analyze raw numerical data graphically in minimial lines of code. The example below makes for better understanding.

TXT file

a bag of numbers in a .txt file corresponds to the following plots:

histogram plot:

Histogram Plot

bar plot:

Bar Plot

histogram plot with pdf:

Histogram Plot With PDF

References

Stanford Archives: CS109- The Normal(Gaussian) Distribution

A Practical Overview on Probability Distributions: Andrea Viti, Alberto Terzi, Luca Bertolaccini

Awesome Scientific Computing: Nico Schlömer, GitHub Repository

math.statistics: Python 3.10 Source Code

Stack Overflow

Dependencies

probplotlib depends on the matplotlib library on top of your regular python installation.

pip install matplotlib

or

conda install matplotlib

Installation

probplotlib is available on the Python Package Index. You can install it directly using pip.

pip install probplotlib

Testing

To run the tests, simply check to this directory and run the code below.

python -m unittest test_probplotlib

Release history Release notifications | RSS feed

This version

1.0

Download files

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

Source Distribution

probplotlib-1.0.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

probplotlib-1.0-py3-none-any.whl (4.0 kB view hashes)

Uploaded Python 3

Supported by

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