A basic statistics module to compute MLEs / probabilities
Project description
About
applied_stats is a Python library that implements various statistical distributions and methods in Python. The continuous_distributions module supports plotting and calculating probabilities for normal, chi-squared, t, and F distributions, and the mle module can calculate various maximum likelihood estimators based on particular distributions. I plan to continue development of this to add new functionality and modules in the future.
The project was inspired while I took MAT 561 (Probability) and MAT 562 (Mathematical Statistics) at the University of Louisville. The goal of this is to provide simple tools to work with applied statistics, while also aiding my own understanding by applying theoretical techniques learned during class.
Please feel free to submit PRs or Issues if you'd like!
Installation
Run the following to install the applied-stats:
$ pip install applied-stats
This has been tested on Windows 10 and Ubuntu 21.04; will test on macOS soon.
Usage
Follow these examples to start plotting and calculating probabilities. Various examples, including the ones below, can also be found in the Demonstration Jupyter Notebook
Generate some plots and calculate some probabilities:
>>> from applied_stats import continuous_distributions
>>> a = Norm_rv(0,1)
>>> a.plot_pdf()
>>> a.probability_calc()
Note: pypi has some difficulty rendering the below plot images, they can be viewed on GitHub.
>>> q = ChiSq_rv(4,crit_value=7)
>>> q.plot_pdf(cv_probability=True)
>>> q.probability_calc()
Calculate a two-tailed Chi-Sq distribution and plot:
>>> z = st.ChiSq_rv(3)
>>> z.plot_pdf(left_cv=1, right_cv=7, cv_probability=True, two_tail=True)
>>> z.probability_calc()
Calculate the numeric MLE of several common distributions:
>>> from stats_tools import mle
>>> a = [1,3,2,5,6,7,2,3,4,5]
>>> mle.binomial(10, a)
>>> 0.38
>>> b = [1.2,4.3,2.3,6.8,2.4,3.6]
>>> mle.exponential(b)
>>> 3.4333333333333336
A basic hypothesis test
>>> data = ['R', 'B', 'R', 'B', 'R', 'B', 'R', 'B', 'R', 'B']
>>> a = gen_test(data, 'H0 is that there are 5 red marbles in a bag')
>>> a.run_test(n=4,
counter='R',
accept_left=3,
accept_right=4)
>>> 'Do not reject H0. Count is 3'
Tests
Run the tests from the command line with python test.py -v
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
Built Distribution
File details
Details for the file applied_stats-1.0.0.tar.gz
.
File metadata
- Download URL: applied_stats-1.0.0.tar.gz
- Upload date:
- Size: 96.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc64461c15eacb750772134ba70bf28f7fc2a25b147a4e67cb15a1af86d48018 |
|
MD5 | 297eff6599742dab4e6fa7b1b4df7dc7 |
|
BLAKE2b-256 | c1e968b6672f2328d76bf67f394215aff672a64f9f4709bcd404ed00e5945d21 |
File details
Details for the file applied_stats-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: applied_stats-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a0d2fdf84b47970dda8d1dc17d75a745c03a7e82f54527d01eb7874c80cf01 |
|
MD5 | e2a01604285920962f302fc36265fe91 |
|
BLAKE2b-256 | d8ede0e5704e5305d3b67256df26c5861e1aeb5e8a79e23c732b828defe031fb |