20 params.
addClassDescription(
"Perform M-H MCMC sampling with independent Gaussian propoposals.");
22 "Reporter with seed inputs values for the next proposals.");
24 "Standard deviations for making the next proposal.");
30 _seed_inputs(getReporterValue<
std::vector<Real>>(
"seed_inputs")),
31 _std_prop(getParam<
std::vector<Real>>(
"std_prop"))
36 "The number of proposal stds, initial values, and priors should be the same.");
44 for (
unsigned int i = 0; i <
_priors.size(); ++i)
registerMooseObject("StochasticToolsApp", IndependentGaussianMH)
A class for performing M-H MCMC sampling with independent Gaussian propoposals.
virtual void proposeSamples() override
Fill in the _new_samples vector of vectors (happens within sampleSetUp)
static InputParameters validParams()
const std::vector< Real > & _seed_inputs
Reporter value the seed input values for proposing the next set of samples.
const std::vector< Real > & _std_prop
Standard deviations for making the next proposal.
virtual int decisionStep() const override
Return the step after which decision making can begin.
IndependentGaussianMH(const InputParameters ¶meters)
void paramError(const std::string ¶m, Args... args) const
virtual Real quantile(const Real &p) const override
A base class used to perform Parallel Markov Chain Monte Carlo (MCMC) sampling.
const std::vector< Real > * _lower_bound
Lower bounds for making the next proposal.
std::vector< const Distribution * > _priors
Storage for prior distribution objects to be utilized.
static InputParameters validParams()
Real random()
Sample a random number between 0 and 1.
const std::vector< Real > & _initial_values
Initial values of the input params to get the MCMC scheme started.
std::vector< std::vector< Real > > _new_samples
Vectors of new proposed samples.
const unsigned int _num_parallel_proposals
Number of parallel proposals to be made and subApps to be executed.
const std::vector< Real > * _upper_bound
Upper bounds for making the next proposal.
virtual Real quantile(const Real &p) const override