integration.compute_multi_dim_pod
compute_multi_dim_pod(
poi_grid,
nuisance_ranges,
model,
X_train,
residuals,
bandwidth,
dist_info,
threshold,
n_mc_samples=3000,
)Performs Monte Carlo integration over continuous nuisance parameters to calculate the marginal Probability of Detection (PoD) for a grid of Parameters of Interest (PoI).
Based on the methodology from Malkiel et al. (2026), this function evaluates the flexible multi-dimensional surrogate model across randomly sampled nuisance parameter realizations, calculates the probability of detection at each realization using local variance standardisation, and aggregates them.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| poi_grid | np.ndarray | The evaluation grid of the Parameters of Interest shape (N, n_pois). | required |
| nuisance_ranges | Dict[str, Tuple[float, float]] | The min/max bounds for each nuisance. | required |
| model | Any | Fitted multi-dimensional surrogate model (predicts mean response). | required |
| X_train | np.ndarray | Original training data (N_train, n_total_vars). | required |
| residuals | np.ndarray | Residuals from the model fit. | required |
| bandwidth | float | Local kernel smoothing bandwidth. | required |
| dist_info | Tuple[str, Tuple] | Residual error distribution (name, params). | required |
| threshold | float | Signal detection threshold. | required |
| n_mc_samples | int | Number of Monte Carlo draws per PoI grid point. | 3000 |
Returns
| Name | Type | Description |
|---|---|---|
| Tuple[np.ndarray, np.ndarray] | Tuple[np.ndarray, np.ndarray]: - pod_integrated: Integrated PoD values across the poi_grid. - mean_integrated: Expected mean response across the poi_grid. |