bamojax.marginal_likelihoods.thames¶
sample_unit_sphere(key, d, n)
¶
Randomly determine angles and radii on the unit sphere.
Source code in bamojax/marginal_likelihoods/thames.py
11 12 13 14 15 16 17 18 19 20 21 | |
sample_ellipsoid(key, Sigma, n, c=None, mu=None, jitter=1e-12)
¶
Affine transformation of points on the unit sphere to the ellipsoid.
Source code in bamojax/marginal_likelihoods/thames.py
24 25 26 27 28 29 30 31 32 33 34 35 36 | |
thames(key, model, posterior_samples, M=100, adjust_volume=True)
¶
Implements the Truncated Harmonic Mean Estimator (THAMES), by Metodiev et al. (2025)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
- key
|
The random seed for the volume adjustment. |
required | |
- model
|
The bamojax model to get the marginal likelihood for. |
required | |
- posterior_samples
|
Samples from the posterior of the model. |
required | |
- M
|
The number of samples to draw from the ellipsoid to correct for the different |
required |
Returns:
| Type | Description |
|---|---|
|
References:
- Martin Metodiev, Marie Perrot-Dockès, Sarah Ouadah, Nicholas J. Irons, Pierre
Latouche, Adrian E. Raftery. "Easily Computed Marginal Likelihoods from Posterior
Simulation Using the THAMES Estimator." Bayesian Anal. 20 (3) 1003 - 1030, 2025.
https://doi.org/10.1214/24-BA1422
Source code in bamojax/marginal_likelihoods/thames.py
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | |