A Python package for Bayesian Inference modeling and diagnostics.
Project description
Bayesian Inference
BI software is available in both Python and R. It aims to unify the modeling experience by integrating an intuitive model-building syntax with the flexibility of low-level abstraction coding available but also pre-build function for high-level of abstraction and including hardware-accelerated computation for improved scalability.
Currently, the package provides:
-
Data manipulation:
- One-hot encoding
- Conversion of index variables
- Scaling
-
Models (Using Numpyro):
- Linear Regression for continuous variable
- Multiple continuous Variable
- Interaction between variables
- Categorical variable
- Binomial model
- Beta binomial
- Poisson model
- Gamma-Poisson
- Multinomial
- Dirichlet model
- Zero inflated
- Varying intercept
- Varying slopes
- Gaussian processes
- Measuring error
- Latent variable]
- PCA
- GMM
- DPMM
- Network model
- Network with block model
- Network control for data collection biases
- BNN
-
Model diagnostics (using ARVIZ):
- Data frame with summary statistics
- Plot posterior densities
- Bar plot of the autocorrelation function (ACF) for a sequence of data
- Plot rank order statistics of chains
- Forest plot to compare HDI intervals from a number of distributions
- Compute the widely applicable information criterion
- Compare models based on their expected log pointwise predictive density (ELPD)
- Compute estimate of rank normalized split-R-hat for a set of traces
- Calculate estimate of the effective sample size (ESS)
- Pair plot
- Density plot
- ESS evolution plot
Why?
1. To learn
2. Easy Model Building:
The following linear regression model (rethinking 4.Geocentric Models): $$ \text{height} \sim \mathrm{Normal}(\mu,\sigma) $$
$$ \mu = \alpha + \beta \cdot \text{weight} $$
$$ \alpha \sim \mathrm{Normal}(178,20) $$
$$ \beta \sim \mathrm{Normal}(0,10) $$
$$ \sigma \sim \mathrm{Uniform}(0,50) $$
can be declared in the package as
from BI import bi
# Setup device------------------------------------------------
m = bi(platform='cpu')
# Import Data & Data Manipulation ------------------------------------------------
# Import
from importlib.resources import files
data_path = files('BI.resources.data') / 'Howell1.csv'
m.data(data_path, sep=';')
m.df = m.df[m.df.age > 18] # Manipulate
m.scale(['weight']) # Scale
# Define model ------------------------------------------------
def model(weight, height):
a = m.dist.normal(178, 20, name = 'a')
b = m.dist.lognormal(0, 1, name = 'b')
s = m.dist.uniform(0, 50, name = 's')
m.normal(a + b * weight , s, obs = height)
# Run mcmc ------------------------------------------------
m.fit(model) # Optimize model parameters through MCMC sampling
# Summary ------------------------------------------------
m.summary() # Get posterior distributions
Todo
- GUI
- Documentation
- Implementation of additional MCMC sampling methods
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bayesinference-0.0.20.tar.gz.
File metadata
- Download URL: bayesinference-0.0.20.tar.gz
- Upload date:
- Size: 55.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37542ee06bc546a3e1b17dbaca6d215d2df4e573a24f6dbf208e17baa0a51b86
|
|
| MD5 |
bd9dc58d2c11e0f11c60fe0502f582a1
|
|
| BLAKE2b-256 |
7bc7ef134b785ed6a6d069324883b12c0784890e46eda3d2a04af436f9d9257e
|
File details
Details for the file bayesinference-0.0.20-py3-none-any.whl.
File metadata
- Download URL: bayesinference-0.0.20-py3-none-any.whl
- Upload date:
- Size: 55.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c4c3495778d98f1b69a3b743d363008fcff44e97f3757db1ec96ba8388bc102
|
|
| MD5 |
8b6d518f75097c82cde46ed259d3fef3
|
|
| BLAKE2b-256 |
a79115e1a539390b98c7fd5593af4bb752929725a3217b2b13748fdbb87edede
|