NeuralEstimators
facilitates a suite of neural methods for parameter inference in scenarios where simulation from the model is feasible. These methods are likelihood-free and amortised, in the sense that, once the neural networks are trained on simulated data, they enable rapid inference across arbitrarily many observed data sets in a fraction of the time required by conventional approaches.
The package supports neural Bayes estimators, which transform data into point summaries of the posterior distribution; neural posterior estimators, which perform approximate posterior inference via KL-divergence minimisation; and neural ratio estimators, which approximate the likelihood-to-evidence ratio and thereby enable frequentist or Bayesian inference through various downstream algorithms, such as MCMC sampling.
See the documentation to get started!
To install the package, please first install the current stable release of Julia
. Then, one may install the current stable version of the package using the following command inside Julia
:
using Pkg; Pkg.add("NeuralEstimators")
Alternatively, one may install the current development version using the command:
using Pkg; Pkg.add(url = "https://github.com/msainsburydale/NeuralEstimators.jl")
A convenient interface for R
users is available on CRAN.
This software was developed as part of academic research. If you would like to support it, please star the repository. If you use it in your research or other activities, please also use the following citations.
@Manual{,
title = {{NeuralEstimators}: Likelihood-Free Parameter Estimation
using Neural Networks},
author = {Matthew Sainsbury-Dale},
year = {2024},
note = {R package version 0.1-2},
url = {https://CRAN.R-project.org/package=NeuralEstimators},
doi = {10.32614/CRAN.package.NeuralEstimators},
}
@Article{,
title = {Likelihood-Free Parameter Estimation with Neural {B}ayes
Estimators},
author = {Matthew Sainsbury-Dale and Andrew Zammit-Mangion and
Raphael Huser},
journal = {The American Statistician},
year = {2024},
volume = {78},
pages = {1--14},
doi = {10.1080/00031305.2023.2249522},
}
If you encounter a bug or have a suggestion, please consider opening an issue or submitting a pull request. Instructions for contributing to the documentation can be found in docs/README.md. When adding functionality to the package, you may wish to add unit tests to the file test/runtests.jl. You can then run these tests locally by executing the following command from the root folder:
julia --project=. -e "using Pkg; Pkg.test()"
-
Likelihood-free parameter estimation with neural Bayes estimators [paper] [code]
-
Neural Bayes estimators for irregular spatial data using graph neural networks [paper][code]
-
Neural Bayes estimators for censored inference with peaks-over-threshold models [paper] [code]
-
Neural parameter estimation with incomplete data [paper][code]