Skip to contents

Runs seeded synthetic scenarios through exact and FITC regression. Accuracy, performance, and numerical stability are returned as separate tables so faster execution is never conflated with better numerical agreement.

Usage

run_gp_benchmark_suite(
  scenarios = c("smooth_1d", "near_singular", "ard_2d", "heteroscedastic_1d"),
  n = 60L,
  n_inducing = 15L,
  repeats = 3L,
  seed = 1729L
)

Arguments

scenarios

Character vector of standard scenario names.

n

Number of observations per scenario.

n_inducing

Number of FITC inducing points.

repeats

Number of timing repetitions. Medians are reported.

seed

Base non-negative integer seed. Scenario-specific offsets are applied deterministically.

Value

An object of class gaussianprocesses_benchmark_suite containing separate accuracy, performance, and stability data frames.

Details

Timing results use median elapsed wall-clock time and are intended for local comparison, not CI gating. Retained memory is measured with utils::object.size() and is not a peak-allocation measurement.

The exact Gaussian process is used as the numerical reference when assessing FITC approximation error. Synthetic scenarios also retain their latent draw so both exact and sparse posterior means can be compared against the same known simulation truth.

Stability

Experimental: this interface may change in a minor release, and every change is listed in NEWS. See gaussianprocesses-package for the policy.

Examples

# A deliberately small run; see inst/benchmarks/run-suite.R for a full one.
suite <- run_gp_benchmark_suite(
  scenarios = "smooth_1d",
  n = 30,
  n_inducing = 8,
  repeats = 1
)
suite$accuracy
#>    scenario model latent_truth_rmse latent_truth_mae
#> 1 smooth_1d exact         0.1126308       0.07739694
#> 2 smooth_1d  FITC         0.1226630       0.09549089
#>   posterior_mean_rmse_vs_exact posterior_mean_max_abs_error_vs_exact
#> 1                   0.00000000                            0.00000000
#> 2                   0.04591203                            0.08197735
#>   latent_variance_mae_vs_exact latent_variance_max_abs_error_vs_exact
#> 1                  0.000000000                             0.00000000
#> 2                  0.009223295                             0.02834552