ICB-DCM / pyPESTO

python Parameter EStimation TOolbox
https://pypesto.readthedocs.io
BSD 3-Clause "New" or "Revised" License
218 stars 47 forks source link

Different starting points for Parallel Tempering #269

Open yannikschaelte opened 4 years ago

yannikschaelte commented 4 years ago

in order to exploit PT better, assigning different starting points to the different chains would be good, as discussed here: https://github.com/ICB-DCM/pyPESTO/pull/268

JanHasenauer commented 4 years ago

not only good but critical. if the initial population is too homogeneous the adaptation will not work properly.

JanHasenauer commented 4 years ago

In the past we used multiple results from the multi-start local optimization. not only results from the best plateau but also from other once. I guess this can be improved by assigning for the higher temperatures a certain probability to sample directly from the prior.

if no optimization results are available we should simple sample all points independently from the prior.

PaulJonasJost commented 3 years ago

So we would want a function that creates starting points. Either it gets passed an optimization_result or a prior. In case of the optimization result it should automatically determine "good" starting points from each plateau?

yannikschaelte commented 3 years ago

In case of optimization result, I would say: Identify clusters (code already exists from waterfall plots, @DantongWang ), and then take one point from each cluster. If that's not enough, fill up somehow, e.g. by random sampling.

In case of prior, sounds good, one could just sample from that then ... though we don't have the concept of sample from prior yet, only in petab.