baudren / montepython_public

Public repository for the Monte Python Code
MIT License
65 stars 117 forks source link

Over Sampling -- Need More Explanations #86

Closed borisbolliet closed 7 years ago

borisbolliet commented 7 years ago

Dear All,

Could anyone explain what is a 'good' setting for the over-sampling array in Montepython ?

For Planck Likelihood, it is set to:

data.over_sampling=[1, 4]

But why 4?

Thank you very much,

Boris

PS: this post is related to #62.

lesgourg commented 7 years ago

Hi Boris, Do you understand what this oversampling is used for? It is used together with the Choleski decomposition, this is explained e.g. in http://arxiv.org/abs/1304.4473. With [1,1] you would get no oversampling, so the results would be correct, but the convergence would be slow. By increasing the second number, you make the nuisance parameters converge faster. But if the number was too big, the problem would be that the nuisance parameters would converge very quickly and the cosmological ones very slowly. The number should be adjusted empirically (unless one would take the time to do extensive tests to find an optimal recipe: that recipe should then depend on the ratio (num Cosmo parameters)/(num derived parameters) and also on the ratio (time to compute the likelihood)/(time to run the Boltzmann code). Usually for Planck likelihoods + (extended) LCDM models anything from [1,3] to [1,10] seems to be reasonable, and any particular choice in that range doesn't matter much. I hope that you run with the option "--update 300" to make things converge much faster. We will soon define --update as the default. Here again the number 300 is empirical and anything in the range 100 to 1000 is reasonable. MCMC convergence is not an exact science!

borisbolliet commented 7 years ago

Hi Julien,

Thank you very much!

Yes, I am using Cholesky indeed.

Yes, I am also adding another experiment with three new nuisance parameters, in addition to the nuisance parameter A_planck used by Plank_lensing. So, I have:

data.experiment=['Planck_lensing','My_Experiment']

Is it correct that if I set

data.over_sampling=[1, N,M]

then A_planck is varied N times more frequently and my new nuisance parameters M times more frequently than the cosmological parameters?

Thank you very much,

Boris

(Yes, I am now well aware that MCMC convergence is not an exact science :-)!!)

lesgourg commented 7 years ago

Yes, it is exactly as you say. Best wishes for your runs.

borisbolliet commented 7 years ago

Thank you very much!

(I guess this answers #62 too)

Boris