Code Monkey home page Code Monkey logo

probplotlib's Introduction

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

probplotlib's People

Contributors

kunal-bhar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.