Add Bayesian inference benchmark for stochastic Lotka-Volterra SDE - #1569
Open
ArpanC6 wants to merge 2 commits into
Open
Add Bayesian inference benchmark for stochastic Lotka-Volterra SDE#1569ArpanC6 wants to merge 2 commits into
ArpanC6 wants to merge 2 commits into
Conversation
ArpanC6
force-pushed
the
bayesian-sde-benchmark-clean
branch
from
May 18, 2026 03:50
3e4b6a1 to
fe07707
Compare
ArpanC6
force-pushed
the
bayesian-sde-benchmark-clean
branch
from
July 25, 2026 16:41
fe07707 to
f13fea6
Compare
Author
|
@ChrisRackauckas Following up on my earlier diagnosis I have gone ahead and pushed the fix Switched to EM(dt=0.01) with isoutofdomain instead of SRIW1() which stops the dt <= dtmin aborts when MCMC explores unstable parameter regions (like negative populations). Using MH() instead of NUTS() since NUTS was hitting the max tree depth at 10.0 on this multimodal posterior. Using NelderMead() for MLE instead of LBFGS() gradient-free makes more sense here since the SDE solver isn't reliably differentiable through AD. Everything is rebased on the latest master. CI should be clean now feel free to take a look whenever you get a chance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This benchmark compares Bayesian MCMC (Turing + NUTS) with MLE (Nelder Mead) for estimating parameters of the stochastic Lotka Volterra system using the Euler Maruyama pseudo likelihood.
What’s changed from the previous version
Replaced @ode_def with a plain f(du, u, p, t) function so the parameters a, b, c, d, σ are clear.
Removed the fixed seed in the Turing model using a fixed seed made the SDE behave deterministically which breaks the pseudo likelihood.
Switched the MLE optimizer to Nelder Mead and removed AutoForwardDiff because the SDE solver doesn’t work well with automatic differentiation.
Removed unused imports StaticArrays and ParameterizedFunctions.
Fixed chain indexing using vec(Array(chain[param])).
Cleaned up empty code blocks.
Note: This PR only has the new benchmark commit. The previous PR (#1553) also had an unrelated commit from another branch.