Non-Linear Searches#
A non-linear search is an algorithm which fits a model to data.
PyAutoFit supports 15 non-linear searches in three families: nested samplers (nest), Markov chain Monte Carlo (MCMC) and maximum likelihood / maximum a posteriori estimators (MLE). The capability matrix compares them (JAX use, gradients, evidence, posterior kind, install) and the search citations page lists what to cite for each.
Examples / Tutorials:
Markov chain Monte Carlo#
An Emcee non-linear search. |
|
A Zeus non-linear search. |
|
A BlackJAX No-U-Turn Sampler (NUTS) non-linear search. |
|
A BlackJAX adaptive tempered Sequential Monte Carlo (SMC) non-linear search with a gradient inner kernel. |
Nested sampling#
A Dynesty NonLinearSearch using a static number of live points. |
|
A Dynesty non-linear search, using a dynamically changing number of live points. |
|
A Nautilus non-linear search. |
|
A Nested Slice Sampling non-linear search (JAX-native, |
Maximum likelihood / maximum a posteriori#
A Drawer non-linear search, which simply draws a fixed number of samples from the model uniformly from the priors. |
|
Abstract wrapper for the BFGS and L-BFGS scipy non-linear searches. |
|
Abstract wrapper for the BFGS and L-BFGS scipy non-linear searches. |
|
A multi-start first-order gradient MAP optimizer (the "GIGA-Lens" recipe). |
|
A multi-start first-order gradient MAP optimizer (the "GIGA-Lens" recipe). |
|
A multi-start first-order gradient MAP optimizer (the "GIGA-Lens" recipe). |
|
A multi-start first-order gradient MAP optimizer (the "GIGA-Lens" recipe). |
There are also a number of tools which are used to customize the behaviour of non-linear searches in PyAutoFit, including directory output structure, parameter sample initialization and MCMC auto correlation analysis.
Tools#
Manages the path structure for NonLinearSearch output, for analyses both not using and using the search API. |
|
Manages the path structure for NonLinearSearch output, for analyses both not using and using the search API. |
|
The result of a non-linear search. |
|
The Initializer creates the initial set of samples in non-linear parameter space that can be passed into a NonLinearSearch to define where to begin sampling. |
|
The Initializer creates the initial set of samples in non-linear parameter space that can be passed into a NonLinearSearch to define where to begin sampling. |
|
The no-op clipper, and the default. |
|
Hard projection onto the prior support, inset to stay strictly inside it. |
|
Class for performing and customizing AutoCorrelation calculations, which are used: |
PyAutoFit can perform a parallelized grid-search of non-linear searches, where a subset of parameters in the model are fitted in over a discrete grid.
Examples / Tutorials:
GridSearch#
The sample of a grid search. |