lppl  v2.0.0
LikelihoodWeighting< I, O, V, Q, Ts > Struct Template Reference

Likelihood weighting importance sampling, using the prior as the proposal. More...

#include "likelihood.hpp"

Inheritance diagram for LikelihoodWeighting< I, O, V, Q, Ts >:
Inference< LikelihoodWeighting, I, O, V, Q, Ts... >

Public Member Functions

operator() (I &input)
 
void step (record_t< DTypes< Ts... >> &r, I &input)
 
- Public Member Functions inherited from Inference< LikelihoodWeighting, I, O, V, Q, Ts... >
 Inference (pp_t< I, O, Ts... > f, Q< V, O, Ts... > &queryer, inf_options_t opts)
 
std::enable_if_t< std::is_same_v< typename has_proposal< G >::type, No >, V > operator() (I &input)
 Runs the specified inference algorithm with the specified queryer. More...
 
std::enable_if_t< std::is_same_v< typename has_proposal< G >::type, Endog >, V > operator() (I &input, endog_proposal_t< Ts... > &proposal)
 Runs the specified inference algorithm with the specified queryer using the specified proposal distribution. More...
 
std::enable_if_t< std::is_same_v< typename has_proposal< G >::type, Exog >, V > operator() (I &input, exog_proposal_t< I, Ts... > &proposal)
 Runs the specified inference algorithm with the specified queryer using the specified proposal distribution. More...
 
void step (record_t< DTypes< Ts... >> &r, I &input)
 

Additional Inherited Members

- Public Attributes inherited from Inference< LikelihoodWeighting, I, O, V, Q, Ts... >
pp_t< I, O, Ts... > f
 
inf_options_t opts
 
Q< V, O, Ts... > & queryer
 
inference_state< LikelihoodWeighting, I, O, Ts... > state
 

Detailed Description

template<typename I, typename O, typename V, template< class, class, class... > class Q, typename... Ts>
struct LikelihoodWeighting< I, O, V, Q, Ts >

Likelihood weighting importance sampling, using the prior as the proposal.

Suppose the probabilistic program factors as \(p(x,z) = p(x|z)p(z)\). This method samples values \(z \sim p(z)\). The weight of each sample is given by \(\log w = \log p(x|z)\).

Template Parameters
IThe input type of the probabilistic program
OThe output type of the probabilistic program
VThe type of the address(es) to be queried
QThe class template of the queryer
TsThe distribution types in the probabilistic program

The documentation for this struct was generated from the following file: