LSST Applications g063fba187b+66a50001ff,g0f08755f38+1a22dc2551,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g217e2c1bcf+12e87a5bd8,g246886dfd9+466c7b6c06,g28da252d5a+858b171e04,g2bbee38e9b+404b60ec9b,g2bc492864f+404b60ec9b,g3156d2b45e+6e55a43351,g347aa1857d+404b60ec9b,g35bb328faa+a8ce1bb630,g3a166c0a6a+404b60ec9b,g3e281a1b8c+c5dd892a6c,g414038480c+6b9177ef31,g41af890bb2+70bea58702,g599934f4f4+b8c5400ca5,g781aacb6e4+a8ce1bb630,g7af13505b9+b5b9cefdb8,g80478fca09+c2997882f3,g82479be7b0+8974e6af0f,g858d7b2824+1a22dc2551,g89c8672015+f4add4ffd5,g8f1c07a47a+de51c9b0a5,g9125e01d80+a8ce1bb630,ga5288a1d22+b66f8cf76b,gb58c049af0+d64f4d3760,gc28159a63d+404b60ec9b,gcab2d0539d+66cf1de5d4,gcf0d15dbbd+12cb7e2563,gda6a2b7d83+12cb7e2563,gdaeeff99f8+1711a396fd,ge79ae78c31+404b60ec9b,gef2f8181fd+414189b318,gf0baf85859+c1f95f4921,gf0c06eb49c+1a22dc2551,gfa517265be+1a22dc2551,gfa999e8aa5+17cd334064,v28.0.0.rc2
LSST Data Management Base Package
|
Sampler class that performs Monte Carlo sampling, while iteratively updating the analytic distribution from which points are drawn. More...
#include <AdaptiveImportanceSampler.h>
Public Member Functions | |
AdaptiveImportanceSampler (afw::table::Schema &sampleSchema, std::shared_ptr< afw::math::Random > rng, std::map< int, ImportanceSamplerControl > const &ctrls, bool doSaveIterations=false) | |
Construct a new sampler. | |
void | run (SamplingObjective const &objective, std::shared_ptr< Mixture > proposal, afw::table::BaseCatalog &samples) const override |
double | computeNormalizedPerplexity (afw::table::BaseCatalog const &samples) const |
double | computeEffectiveSampleSizeFraction (afw::table::BaseCatalog const &samples) const |
Sampler class that performs Monte Carlo sampling, while iteratively updating the analytic distribution from which points are drawn.
Between the iterations defined in the control object, the prior is applied to the samples, and the mixture distribution is updated using expectation-maximization to match the samples.
Definition at line 70 of file AdaptiveImportanceSampler.h.
lsst::meas::modelfit::AdaptiveImportanceSampler::AdaptiveImportanceSampler | ( | afw::table::Schema & | sampleSchema, |
std::shared_ptr< afw::math::Random > | rng, | ||
std::map< int, ImportanceSamplerControl > const & | ctrls, | ||
bool | doSaveIterations = false ) |
Construct a new sampler.
[in,out] | sampleSchema | Schema for the catalog of samples filled by the Sampler; will be modified to include sampler-specific fields. |
[in] | rng | Random number generator to use to generate samples. |
[in] | ctrls | Vector of control objects that define the iterations. |
[in] | doSaveIterations | Whether to save intermediate SampleSets and associated proposal distributions. |
double lsst::meas::modelfit::AdaptiveImportanceSampler::computeEffectiveSampleSizeFraction | ( | afw::table::BaseCatalog const & | samples | ) | const |
double lsst::meas::modelfit::AdaptiveImportanceSampler::computeNormalizedPerplexity | ( | afw::table::BaseCatalog const & | samples | ) | const |
|
overridevirtual |
Implements lsst::meas::modelfit::Sampler.