Path Sampling and/or Stepping-Stone for combined runs

1,644 views
Skip to first unread message

Samantha Strickland

unread,
Mar 28, 2012, 11:09:34 AM3/28/12
to beast-users
I am trying to use the Path Sampling and Stepping-Stone methods to
calculate the bayes factor for model selection. I have the values for
the independent runs using Beast v1.7.1 with the code in Beale et al,
2012, but is there a way to obtain the values for multiple independent
chains that have been combined?

Additionally when the length of the mcmc chains have be increased
(i.e. 5x10^8 and 10x10^8) should the chainlength and path steps of the
marginal likelihood be increased?

Thanks,
Samantha

Guy Baele

unread,
Mar 28, 2012, 1:47:18 PM3/28/12
to beast...@googlegroups.com
Hi Samantha,

Yes there is, you can specify multiple file names for both the pathSamplingAnalysis and steppingStoneSamplingAnalysis elements.
Sorry for this not being clear, I forgot to mention it in the tutorial on the BEAST website (but will fix this soon).
For example:

<pathSamplingAnalysis fileName="MLE-1.con.log MLE-2.con.log">
        <likelihoodColumn name="pathLikelihood.delta"/>
        <thetaColumn name="pathLikelihood.theta"/>      
</pathSamplingAnalysis>

This will combine the samples collected during different independent runs and combine them to calculate the marginal likelihood value.
Same approach for stepping-stone sampling. You can compose a separate XML file to do this.
Such a file doesn't need to have the <mcmc> or <marginalLikelihoodEstimator> elements since once the samples have been collected, the estimation of the marginal likelihood using path sampling and stepping-stone sampling stands on its own.

I'm not entirely sure what you mean with your second question.
The marginal likelihood calculation uses its own settings for the chain length and number of path steps.
So if you want or need to increase the length of your regular mcmc analysis, there is no obligation to do that as well for the marginal likelihood calculations.
However, I think it's fair to assume that if your mcmc analysis requires a lot of iterations to obtain decent ESS values, that your marginal likelihood analysis will also require quite demanding settings to come to a consistent and correct result (which is why we ran our calculations twice in the paper, to check for consistency).

Best regards,
Guy


Op woensdag 28 maart 2012 17:09:34 UTC+2 schreef Samantha Strickland het volgende:

Guy Baele

unread,
Mar 29, 2012, 4:58:20 AM3/29/12
to beast...@googlegroups.com
In the mean time, I have updated the model selection tutorial on the BEAST website.

Cheers,
Guy


Op woensdag 28 maart 2012 17:09:34 UTC+2 schreef Samantha Strickland het volgende:
I am trying to use the Path Sampling and Stepping-Stone methods to

Samantha Strickland

unread,
Mar 29, 2012, 4:16:09 PM3/29/12
to beast...@googlegroups.com
Thank you!!!
-Samantha

--
You received this message because you are subscribed to the Google Groups "beast-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/beast-users/-/is8nbspTHZIJ.

To post to this group, send email to beast...@googlegroups.com.
To unsubscribe from this group, send email to beast-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beast-users?hl=en.

Peter

unread,
Oct 28, 2013, 1:27:58 PM10/28/13
to beast...@googlegroups.com

Hi, Guy:
I tried to run path sampling.  My data needed 100 million generations to obtain decent ESS values, do you think which way will be better, increasing
chainLength="1000000" pathSteps="100"  to chainLength="100000000" pathSteps="10000",  or run the file with chainLength="1000000" pathSteps="100" for 3 or 4 times?

Thanks,

Peter

Guy Baele

unread,
Oct 29, 2013, 10:47:05 AM10/29/13
to beast...@googlegroups.com
Hi Peter,

I would start with 100 pathSteps and 1.000.000 iterations per path step, if you have the time.
If there would be convergence issues due to "only" running 1 million iterations per step, these may occur in all your runs.
So if it's feasible, I would then also do a longer run, i.e. more iterations per path step, to check if the resulting log marginal likelihood changes.
If not, then you've reached convergence and should be able to trust the log marginal likelihood estimate.

Best regards,
Guy


Op maandag 28 oktober 2013 18:27:58 UTC+1 schreef Peter:

Silvia

unread,
Jul 21, 2017, 10:34:14 AM7/21/17
to beast-users
Hi Guy!

 before reading your answer to Peter I was setting MLE with 40 path and 5 millon generation each (I find good ESS with 10 millon generations in the general mcmc). The screen output showed a ms "Treelikelihood, .., turning on partial likelihood scaling to avoid precision loss". Any hint?

Thanks, Silvia

Guy Baele

unread,
Jul 22, 2017, 12:11:22 PM7/22/17
to beast-users
Hi Silvia,

This isn't really a problem, just a warning message that indicates that more accurate rescaling is needed to keep the computations going.
There's a higher chance of getting this sort of message closer to the prior, where less likely values are being used for the various parameters.

Best regards,
Guy


Op vrijdag 21 juli 2017 16:34:14 UTC+2 schreef Silvia:

Silvia

unread,
Jul 26, 2017, 1:11:28 PM7/26/17
to beast-users
thank you!

Filipe Romero

unread,
Aug 12, 2019, 11:11:49 AM8/12/19
to beast-users
Hi, everyone.
I'm in a situation rather similar to Samantha's. I have marginal likelihood samples and results for 3 independent chains for each model I wanna test. Even though I know how to combine them, I don't know whether my results will be reliable, as each chain individually has ESS < 200 for several parameters. Any advise?
Cheers,
Filipe.
Reply all
Reply to author
Forward
0 new messages