Sobol
Sobol indices for the Orthogonal Additive Kernel.
Computes analytic Sobol indices per interaction order for the constrained SE kernel under standard normal input density.
Reference
Lu, X., Boukouvalas, A., & Hensman, J. (2022). Additive Gaussian Processes Revisited. ICML. (Eq. 14, Appendix G.1)
sobol_indices
sobol_indices(
kernel: OrthogonalAdditiveKernel,
x_train: Float[Array, "N D"],
y_train: Float[Array, "N 1"],
noise_variance: float,
) -> Float[Array, " D_tilde"]
Compute normalized Sobol indices per interaction order.
The Sobol index for interaction order d measures what fraction of the posterior variance is explained by d-th order interactions. Indices are normalized to sum to 1.
Uses vmap for per-dimension integral matrices and matrix-level Newton-Girard to sum over all subsets of each order (no Python loops in the computation path).
Parameters:
-
kernel(OrthogonalAdditiveKernel) βA fitted OrthogonalAdditiveKernel.
-
x_train(Float[Array, 'N D']) βTraining inputs of shape (N, D).
-
y_train(Float[Array, 'N 1']) βTraining targets of shape (N, 1).
-
noise_variance(float) βObservation noise variance.
Returns:
-
Float[Array, ' D_tilde']βArray of shape (max_order,) with normalized Sobol indices
-
Float[Array, ' D_tilde']βfor orders 1 through max_order.