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.