bayesianInference
3.4. Bayesian Inferenceโ
Julia:
cscherrer/Soss.jl: Probabilistic programming via source rewriting
probcomp/Gen.jl: A general-purpose probabilistic programming system with programmable inference
Laboratory of Applied Mathematical Programming and Statistics
Python:
pints-team/pints: Probabilistic Inference on Noisy Time Series
pyro-ppl/pyro: Deep universal probabilistic programming with Python and PyTorch
tensorflow/probability: Probabilistic reasoning and statistical analysis in TensorFlow
google/edward2: A simple probabilistic programming language.
jmschrei/pomegranate: Fast, flexible and easy to use probabilistic modelling in Python.
csynbiosysIBioEUoE/BOMBs.jl: Repository for the Julia BOMBS package
3.4.1. MCMCโ
Methods like HMC, SGLD are Covered by above-mentioned packages.
Julia:
mauro3/KissMCMC.jl: Keep it simple, stupid, MCMC
Nicescheidan/BarkerMCMC.jl: gradient based MCMC sampler
BigBayes/SGMCMC.jl: Stochastic Gradient Markov Chain Monte Carlo and Optimisation
madsjulia/AffineInvariantMCMC.jl: Affine Invariant Markov Chain Monte Carlo (MCMC) Ensemble sampler
TuringLang/EllipticalSliceSampling.jl: Julia implementation of elliptical slice sampling.
Nested SamplingTuringLang/NestedSamplers.jl: Implementations of single and multi-ellipsoid nested sampling
itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC
Python:
Reviewjeremiecoullon/SGMCMCJax: Lightweight library of stochastic gradient MCMC algorithms written in JAX.
Nested Samplingjoshspeagle/dynesty: Dynamic Nested Sampling package for computing Bayesian posteriors and evidences
ruqizhang/csgmcmc: Cyclical Stochastic Gradient MCMC for Bayesian Deep Learning
3.4.2. Approximate Bayesian Computation (ABC)โ
Also called likelihood free or simulation based methods
Reviewsbi-benchmark/sbibm: Simulation-based inference benchmark
Julia: (few)
Python:
elfi-dev/elfi: ELFI - Engine for Likelihood-Free Inference
pints-team/pints: Probabilistic Inference on Noisy Time Series
mackelab/sbi: Simulation-based inference in PyTorch
ICB-DCM/pyABC: distributed, likelihood-free inference
3.4.3. Data Assimilation (SMC, particles filter)โ
Julia:
JuliaGNSS/KalmanFilters.jl: Various Kalman Filters: KF, UKF, AUKF and their Square root variant
FRBNY-DSGE/StateSpaceRoutines.jl: Package implementing common state-space routines.
Python:
nchopin/particles: Sequential Monte Carlo in python
tingiskhan/pyfilter: Particle filtering and sequential parameter inference in Python
3.4.4. Variational Inferenceโ
SVGDSearch ยท Stein Variational Gradient DescentAlso see pyro, Stein method part
Julia:
bat/MGVI.jl: Metric Gaussian Variational Inference
TuringLang/AdvancedVI.jl: A library for variational Bayesian methods in Julia
ngiann/ApproximateVI.jl: Approximate variational inference in Julia
Python:
3.4.5. Gaussion, non-Gaussion and Kernelโ
Julia:
Gaussian Processes for Machine Learning in Julia
Laboratory of Applied Mathematical Programming and Statistics
JuliaStats/KernelDensity.jl: Kernel density estimators for Julia
PieterjanRobbe/GaussianRandomFields.jl: A package for Gaussian random field generation in Julia
JuliaGaussianProcesses/Stheno.jl: Probabilistic Programming with Gaussian processes in Julia
STOR-i/GaussianProcesses.jl: A Julia package for Gaussian Processes
Python:
GPflow/GPflow: Gaussian processes in TensorFlow
SheffieldML/GPy: Gaussian processes framework in python
3.4.6. Bayesian Optimizationโ
Julia:
SciML/Surrogates.jl: Surrogate modeling and optimization for scientific machine learning (SciML)
jbrea/BayesianOptimization.jl: Bayesian optimization for Julia
baggepinnen/Hyperopt.jl: Hyperparameter optimization in Julia.
Python:
fmfn/BayesianOptimization: A Python implementation of global optimization with gaussian processes.
pytorch/botorch: Bayesian optimization in PyTorch
optuna/optuna: A hyperparameter optimization framework
huawei-noah/HEBO: Bayesian optimisation library developped by Huawei Noah's Ark Library
3.4.7. Information theoryโ
Julia: entropy and kldivengence for distributions or vectors can be seen in Distributions.jl
KL divergence for functionsRafaelArutjunjan/InformationGeometry.jl: Methods for computational information geometry
gragusa/Divergences.jl: A Julia package for evaluation of divergences between distributions
cynddl/Discreet.jl: A Julia package to estimate discrete entropy and mutual information
3.4.8. Uncertaintyโ
Uncertainty propogation
Julia:
ReviewUncertainty Programming, Generalized Uncertainty Quantification
GoodJuliaReach/RangeEnclosures.jl: A Julia package to compute range enclosures of real-valued functions.
Python
pyro-ppl/funsor: Functional tensors for probabilistic programming
3.4.9. Casualโ
zenna/Omega.jl: Causal, Higher-Order, Probabilistic Programming
python
Review: rguo12/awesome-causality-algorithms: An index of algorithms for learning causality with data
3.4.10. Samplingโ
3.4.11 Message Passingโ
Julia: