Parameterising 1 Transiting planet and 3 RV planets #325
-
Hi there, I've been able to produce a maximum a posteriori (MAP) model easily enough, however when sampling the fit takes at most 2 hours and I always get sampling issues such as "the effective number of samples was less than 25% for some parameters". I've boiled the issue down to how the eccentricities and argument of periastrons are determined, as my previous fits with 1 and 2 planets have been great with terrific trace posteriors. I originally tried to follow the layout in the case studies, specifically:
However, when I adjust this to have 3 planets instead of 2:
I constantly get the error that the dimensions of omega is 2 (which I understand by the arctangent) but I'm at a lost on how to parameterise this for 3 planets. How can I then adapt this code for 3 planets? So far I have bypassed this by enforcing uniform ecc and omega priors that I get from running Radvel, and I have found when excluding ecc and omega from the orbit model that the code runs ~ 50 minutes, but once I include them the MCMC takes much longer. If I have left anything out of place, please let me know - I would love to learn how to do things properly. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I can help with the error that you're finding, but the slow sampling is a larger (problem-specific) question that is probably out of scope here. For the - ecs = pmx.UnitDisk("ecs", shape=(2, 2, 2), testval=0.01 * np.ones((2, 2, 2)))
+ ecs = pmx.UnitDisk("ecs", shape=(2, 3), testval=0.01 * np.ones((2, 3))) because the shape should be I expect that updating that syntax should at least let you run the model that you want, but you may need to look into other reparameterizations to get faster sampling. Hope this helps to at least get you started! |
Beta Was this translation helpful? Give feedback.
I can help with the error that you're finding, but the slow sampling is a larger (problem-specific) question that is probably out of scope here.
For the
UnitDisk
with 3 planets, the syntax you'll want is:because the shape should be
(num_params, num_planets)
, wherenum_params
is always 2 (cos(e)
andsin(e)
).I expect that updating that syntax should at least let you run the model that you want, but you may need to look into other reparameterizations to get faster sampling. Hope this helps to at least get you started!