-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skygrid gets stuck #1030
Comments
Any luck you there? I have the same problem here. It seems that the data structure is the problem. Because with the same environment and parameters, with another slightly different dataset, the problem dissappeared. I only have the problem with this specific dataset. |
@carolynzy , there's a temporary workaround. Go to the XML and replace
with
|
@maxbiostat Thanks for the hint! |
@carolynzy, |
@maxbiostat the problem solved after changing the priors. |
@carolynzy Changing the priors should be done only for statistical reasons, never for computational ones. I suggest you change only the operators and see if solves the problem. |
@maxbiostat I have a question, is this problem a computational one? Or it might a statistical one. Because I think this problem is caused by the constante rejection of the sampled probability distribution. Am I right? So, it could be the prior distribution doesn't fit the real data. Is that possible? I'm naive to this, please correct me if I'm wrong. |
@carolynzy , it is most certainly a computational problem. The default priors, while not perfect, are designed to be reasonable for the vast majority of applications. |
I agree with @maxbiostat and do not support this kind of prior tweaking. |
Did anyone ever work out exactly why the block operator experiences this behaviour? While obviously adjusting the priors shouldn't be done to prevent it, it seems potentially instructive if the priors determine whether it happens. |
Hi, @mdhall272 , AFAIK @mandevgill is working out exactly what's going on. If you're interested in other priors for the precision, I had a play around with them here. The PC prior does seem to lead to better behaved chains, mainly because (I think) it demarcates implausible values more strongly. |
@maxbiostat Your suggestion improved the stuck problem. Now it could run through millions of interations withou stuck. But the coverge takes really a long time. It's still running at the moment. |
To be honest I'm too far removed from the problem these days to be of much help - I did wonder if a fix (apart from using a simpler move) was close though. |
Hi, @maxbiostat , while I'm still running on your suggestions, I found something strange. I uploaded the log file here, |
First, here is a picture of the trace plot for context to others: I don't know exactly what the problem is and it's hard to tell without the XML. What I can say is that the Markov chain has most likely jumped to a new mode. It is certainly not normal, in the sense that ideally BEAST should be able to quickly traverse tree space and reach higher modes. In real life, however, this doesn't always happen. What I can recommend is that you run multiple independent chains and observe whether the chains ultimately reach a particular mode. If they do, you can set the appropriate burn-in and use the samples only from that region. |
Same problem here with a small alignment and dimension = 50 and the solution #1030 (comment) above worked, |
What about using Hamiltonian Monte Carlo? Does the problem still persist? |
Need to pick a solution for the next release. Either |
Most certainly Hamiltonian for the skygrid. |
Hamiltonian MC is implemented in BEAUTi so closing this issue |
If one runs this XML with
-seed 1
(or any other seed for that matter) thelogPopSizes
will get stuck pretty much instantly. Have tried with more gridpoints, makes no difference, so I chose to use fewer to make it easier to debug. I also have recompiled BEAST withFAIL_SILENTLY = false
inGMRFSkyrideBlockUpdateOperator
but the problem doesn't seem to be the well-known Newton-Raphson problem.If anyone has any insight I'd love to hear it. Better yet if you can find something obvious and stupid I've messed up in the XML. This is simulated data on a simulated tree (constant
Ne = 1
) using dates from a real data set. Another data set with a different tree and the same dates gives the same "getting stuck" problem.The text was updated successfully, but these errors were encountered: