Skip to content

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.