An alternative to Metropolis Monte Carlo

  • Context: Graduate 
  • Thread starter Thread starter christianjb
  • Start date Start date
  • Tags Tags
    Monte carlo
Click For Summary
SUMMARY

This discussion presents a variation on the standard Metropolis Monte Carlo (MMC) algorithm for sampling from a probability distribution P(x). The proposed method modifies the acceptance probability to P(x')/(P(x)+P(x')), diverging from the traditional approach. The author also introduces a generalized rule involving a parameter alpha, which allows for a range of acceptance probabilities. While the standard choice of alpha=0 remains optimal, the exploration of alternative methods demonstrates the flexibility and potential for innovation within the MMC framework.

PREREQUISITES
  • Understanding of Metropolis Monte Carlo (MMC) algorithm
  • Familiarity with probability distributions
  • Basic knowledge of Markov Chain Monte Carlo (MCMC) methods
  • Concept of detailed balance in stochastic processes
NEXT STEPS
  • Research the implications of varying alpha in the generalized MMC algorithm
  • Explore other Markov Chain Monte Carlo techniques beyond MMC
  • Study the concept of detailed balance in greater depth
  • Investigate practical applications of MMC in statistical physics or Bayesian inference
USEFUL FOR

Researchers in computational statistics, data scientists utilizing MCMC methods, and anyone interested in advanced sampling techniques for probabilistic models.

christianjb
Messages
529
Reaction score
1
Has anyone come across this? I 'invented' it last night, but I'm sure it was discovered decades ago- either that, or it's wrong.

The standard problem is to sample according to a probability distribution P(x).

In standard MMC, this is achieved by:

1) Pick a trial point x' at random within x-dx..x+dx.

2) If P(x')>P(x) then accept the move- set x=x' and return to 1

3) If P(x')<P(x) then accept the move with a probability P(x')/P(x). If move is accepted then set x=x' and return to 1. If move is rejected- just return to 1 without changing x.

-------------------------------
My variation is this

1) Pick a trial point x' at random within x-dx..x+dx

2) Accept move with probability P(x')/(P(x)+P(x')). If move is accepted then set x=x' and return to 1. If move is rejected- just return to 1 without changing x.


It's quite easy to show that both methods obey 'detailed balance'. I'm not sure if there's any advantage of the variation- but it's interesting that an alternative to the standard algorithm exists.
 
Physics news on Phys.org
After some playing around- I found this 'generalized' rule

if P(x')>P(x) accept with probability 1/(alpha P(x)/P(x')+1)
if P(x')<P(x) accept with probability 1/(alpha + P(x')/P(x))

where alpha is a number between 0 and 1.

If alpha = 0 then it reverts to the normal MMC method.
If alpha = 1 then it reverts to my above variation, but any value of alpha works.

It's clear that (the standard choice) alpha=0 is the best choice, because it gives a 100% probability of acceptance if P(x)=P(x'). So- the text-books don't have to be rewritten.

Still, it's nice to see that variants exist on the MMC algorithm. I wonder if there are any other solutions?
 
Last edited:
wow that's really cool, i had never heard of that before, you are very smart to figure that out
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 18 ·
Replies
18
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
Replies
1
Views
1K