-
Notifications
You must be signed in to change notification settings - Fork 58
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
JumpProposal simplification #35
Comments
#35 adding general and simplified jump proposal draws
Hi All , it looks like there are still quite a few lines with hardcoded priors in custom jump proposals. They biased some of my recent parameter-estimation runs. Is there a plan to replace all custom jump proposals with a loop through all parameters that simply adds functions that draw samples from parameter priors? |
Hi @bvgoncharov , what exactly do you mean? I have seen a few bugs in the code in the master branch, those have been fixed in my fork. But, I am not sure that there are hardcoded priors in custom jump proposal. Ok, it reuses the |
Hi @siyuan-chen , I am referring to a long list of jump proposals in
It turns out, jp.draw_from_gwb_log_uniform_distribution defined in sampler.py contains prior (-18; -11):
The same works for BayesEphem, and maybe for other signals. As a result, the result is strongly biased when a non-standard prior is chosen. Perhaps it is worth only leaving the prior-draw jump proposal here?
My understanding is that jump proposals help to avoid situations when the PTMCMCSampler is getting stuck in one point in parameter space. I am not 100% sure if keeping only the jump proposal at line 197 will be sufficient, but I think this might be enough. |
Ah, I see what you mean. The range (-18,-11) is somewhat hardcoded in
So, the idea is that because the ranges are the same between the JumpProposal and the PTA object, there should not be biasing. I am not sure if it would even if that was not the case. JumpProposal should help to get the sampler unstuck, the sampler still decides whether it will jump there or not. This decision should be based on the likelihood and not on the range of the jumpproposal.
Yeah, I think the list of jumpproposal in hypermodel can be replaced by a custom list and a looped call to the |
I have noticed that there are several draw_from_X function in the JumpProposal object in model_utils.py (sampler.py). It would probably be good to generalize that to a function, where you can input your signal name. It removes a lot of copy-pasted code and also allow users to easier select targeted JumpProposals. A similar thing can be done for the parameter prior jump proposals.
I will have a go at coding that...
The text was updated successfully, but these errors were encountered: