View on GitHub


A multi-processing Python wrapper and API for approximate-Bayesian phylgeographical inference

Download this project as a .zip file Download this project as a tar.gz file

Table Of Contents

Previous topic

4.8. A key to the output of model parameters and associated statstics

Next topic

6. PyMsBayes Change History

This Page

5. Caveats and Recommendations

5.1. Be skeptical of strongly supported results

Both dpp-msbayes and msBayes attempt to approximate the posterior of a very parameter rich and highly stochastic model. Furthermore, both methods use relatively little information from the data when doing so (i.e., the sequence alignments are reduced to a small number of simple statistics). Under these conditions we should expect there to be quite a bit of posterior uncertainty about divergence models and the number of divergence events. A lack of posterior uncertainty (i.e., strongly supported results) is likely a red flag that the prior on divergence times is strongly weighting the posterior probabilities of the divergence models (i.e., the strong support is being driven by the prior on the divergence times, and not the data). See the the section about the prior on divergence times for more details.

5.2. Issues of ABC model choice

ABC approximations of posterior probabilities (and associated Bayes factors) can be inaccurate when the summary statistics are insufficient across models (which will always be the case for dpp-msbayes and msBayes analyses) [11]. Thus, ABC model choice should really be treated as a means of exploring your data, rather than a rigorous evaluation of hypotheses.

5.3. Assess the sensitivity of results to prior assumptions

Given some of the pitfalls discussed above, it is always a good idea to assess the sensitivity of your results to your prior assumptions. Luckily, PyMsBayes makes this very easy for you, because it allows you to analyze data under an arbitrary number of models very easily. See the multi-model tutorial about how to do this.

5.4. Simulation-based analyses can illuminate temporal resolution

As shown in [10], [9], and [8], simulation-based analyses provide insight about the time scale at which the method can detect random variation in divergence times from your data. This can be very useful in guiding your interpretation of the results.

5.5. Do not scramble the summary statistics among taxa!

See the section about the re-sorting across taxa that is done in msBayes (and is still an option in dpp-msbayes). This is mathematically incorrect, introduces bias, and should not be done.

5.6. The method might be inappropriate for comparing many taxa

See the note about the number of divergence models as the number of taxa increase. Once the number of taxa gets above 15 or so, the number of possible models of divergence gets enormous, and might be beyond the capacity of the simple rejection sampling algorithm implemented in dpp-msbayes and msBayes. If you use either method with this many pairs of taxa, you should run multiple replicates, each with large numbers of samples from the prior, to make sure your estimates are stabilizing as the samples increase within each run, and converging to similar values across runs.

5.7. Please choose your priors

Please do not use the default priors. You know your system infinitely better than I do, and thus you should be the one to choose the assumptions about prior uncertainty.