pub fn accept_reject(
f_x: &impl ProbabilityDistribution,
g_x: &impl ProbabilityDistribution,
y_sample: &Array1<f64>,
m: f64,
uniform_sample: &Array1<f64>,
) -> Result<Array1<f64>, DigiFiError>Expand description
Implements the Accept-Reject Method, a Monte Carlo technique for generating random samples from a probability distribution.
§Input
f_x: Target probability density functiong_x: Proposal probability density functiony_sample: Sample from the proposal distributionm: Constant such that m*g(x) >= f(x) for all xuniform_sample: Sample from a uniform distribution
§Output
- Sample array generated from the target distribution
§Errors
- Returns an error if the arrays produced by
f_xandg_xare of different lengths. - Returns an error if arrays produced by
f_xandg_xare different in length to y_sample.
§Links
- Wikipedia: https://en.wikipedia.org/wiki/Rejection_sampling
- Original Source: N/A