oryx.experimental.mcmc.metropolis_hastings
Stay organized with collections
Save and categorize content based on your preferences.
Returns a program that takes a Metropolis-Hastings step.
oryx.experimental.mcmc.metropolis_hastings(
unnormalized_log_prob: oryx.core.ppl.LogProbFunction
,
inner_step: oryx.core.ppl.LogProbFunction
) -> oryx.core.ppl.LogProbFunction
The Metropolis-Hastings algorithm takes a proposal distribution (inner_step
)
and iteratively accepts or rejects proposals from it according to an accept
ratio calculated from unnormalized_log_prob
and log_prob(inner_step)
. This
creates a Markov Chain whose stationary distribution is some target
distribution (specified by unnormalized_log_prob
).
Args |
unnormalized_log_prob
|
A function that computes the log probability of a
state.
|
inner_step
|
A probabilistic program that acts as the proposal distribution
for a Metropolis-Hasting step.
|
Returns |
A program that proposes a new state and accepts or rejects according to the
unnormalized log probability and proposal distribution transition
probabilities.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-05-23 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-05-23 UTC."],[],[]]