Tutorial 13: Bayesian AVO Inversion#
Note
This tutorial is available as a Python script examples/13_bayes_avo_inversion.py and an interactive Jupyter notebook examples/notebooks/13_bayes_avo_inversion.ipynb.
Perform Bayesian AVO inversion using all four samplers (SVGD, HMC, NUTS, LDS)
and learn the InverseProblem framework that bridges deterministic and
Bayesian solvers.
What You Will Learn#
Use
InverseProblemwithcreate_inverter()for deterministic inversionUse
InverseProblemwithas_posterior()for Bayesian inferenceSet up AVO forward modeling through rock physics and Shuey reflectivity
Run Bayesian inversion with four samplers: SVGD, HMC, NUTS, LDS
Compare posterior mean, uncertainty, and convergence across samplers
Key Concepts#
InverseProblem provides a unified interface: define the forward model and
observed data once, then switch between deterministic optimization
(create_inverter()) and Bayesian sampling (as_posterior()).
Bayesian AVO inversion recovers a posterior distribution over elastic properties from pre-stack seismic data, quantifying uncertainty in the inversion result.
The tutorial proceeds in two parts. Part 1 demonstrates a deterministic
inversion using the InverseProblem framework to obtain a point estimate of
the elastic properties. Part 2 converts the same problem to a Bayesian
formulation and runs all four samplers, comparing the posterior distributions
and uncertainty estimates they produce.
Code#
from geobrain.core import InverseProblem
from geobrain.bayes import Posterior, SVGD, HMC, NUTS, LDS
# InverseProblem framework
problem = InverseProblem(forward_fn=forward, observed=d_obs, noise_std=0.01)
inverter = problem.create_inverter(initial_model=m0) # deterministic
posterior = problem.as_posterior(log_prior=log_prior) # Bayesian
# Run samplers
svgd = SVGD(target=posterior, lr=1e-4)
result = svgd.run(n_samples=50, n_steps=500)
Results#
The deterministic inversion provides a point estimate of the elastic properties, establishing a baseline before moving to Bayesian inference.
Fig. 71 Deterministic AVO inversion with InverseProblem framework.#
The four Bayesian samplers – SVGD, HMC, NUTS, and LDS – each produce a posterior distribution over elastic properties. Comparing them reveals differences in posterior mean, credible intervals, and sampling efficiency.
Fig. 72 Bayesian AVO inversion: posterior comparison across four samplers.#