Open omaarattia opened 2 years ago
I'm not too sure what to say here. There isn't any real reason why emcee would cause different behavior with your interpolator - it just directly calls the function you provide: https://github.com/dfm/emcee/blob/afba7a505b391b74d1eb2f27f1b1129c31a29948/src/emcee/ensemble.py#L489
Some thoughts:
prob > 0
check in your function.float
, so perhaps there's some numerical instability there, but if there is that suggests that there's probably something else wrong with your function. You might want to debug what's happening there?Thank you very much for your answer. I'll try your suggestions and let you know.
Hi,
I was wondering if there are any updates on this issue? I am seeing the same error while running the emcee fitter with the scipy skewed normal function, but not always. It seems to depend on the bounds I use for one of the parameters and the number of steps I use in the fit. Also, it is not easily reproducible, as sometimes the error happens, and then the next run it does not happen, with the exact same input parameters, bounds, steps, etc.
Good morning,
I have an issue on
emcee
. TheEnsembleSampler
crashes after a few iterations and raises aValueError: Probability function returned NaN
. The thing is my user-defined probability function cannot return NaNs, as it defined something like this:where
logP
is basically an evaluation of a beforehand-constructed RBF interpolator.I call the
EnsembleSampler
like this:Changing the
logP
function to e.g. a nearest interpolator solves the problem, so I guess the issue comes from a bad interaction betweenemcee
andscipy
's RBF interpolator?I tried advancing the MCMC iteration by iteration and comparing at each step the manual and
emcee
-stored evaluation of the probability function:and at some point,
diff
was not identically zero, meaning thatmy_probability_function
sometimes returns different results depending on if one evaluates it outside or insideemcee
!Can you help me please? Unfortunately, I was not able to replicate the problem in a minimalist example, as it only emerges when the RBF interpolator is constructed on my personal 2M data points in 7 dimensions.
Many thanks in advance.