brinckmann / montepython_public

Public repository for the Monte Python Code
MIT License
93 stars 80 forks source link

Running montepython as a minimiser #234

Closed alexander-reeves closed 1 year ago

alexander-reeves commented 3 years ago

Dear all,

Is there an efficient way to run Montepython as a minimise in the sense of accurately finding the best-fit min(lkl) given an input model, likelihood function and data? (Or perhaps you would know of another program that can find the bestfit min(lkl) given the above inputs?)

As a first attempt I am running four chains and they have all converged after performing 10^5 steps but the best-fit min(lkl) is quite different between all of the chains (+/- 1-2). I want to compare the best-fit min lkls for a few different models but I don't trust the best fits found by the above chains given the difference in the best-fits between the chains for each model is of the same order as the difference between the min lkls for the different models.

Many thanks in advance,

Alex

alexander-reeves commented 3 years ago

I know this is possible for example in COSMOMC which uses Powell's 2009 BOBYQA bounded minimization routine- is there any equivalent currently implemented in MontePython?

brinckmann commented 3 years ago

See my answer on issue #236

Best, Thejs

HoisW commented 2 years ago

Hi alexreevesy,

I try your mcmc.py, parser_mp.py and sampler.py, and use the flag --bobyqa to choose BOBYQA MINIMISER. But an error is reported: ... File "montepython/sampler.py", line 478, in get_minimum lower = np.zeros([len(parameter_names), ], 'float64') UnboundLocalError: local variable 'parameter_names' referenced before assignment ...

Do you know how to fix it?

brinckmann commented 2 years ago

See my new answer on issue #236

Best, Thejs