Skip to content

v1.7.0

Choose a tag to compare

@katosh katosh released this 26 Mar 04:09
  • bugfix: FunctionEstimator does not need ls if cov_func is given
  • new obs_variance parameter on FunctionEstimator and fit() to estimate input-dependent observation noise
  • new Predictor.obs_variance(x) returns a smoothed observation noise surface at any location
  • new Predictor.leverage(x) returns the GP leverage (hat matrix diagonal) for each point
  • new Predictor.loo_residuals_squared(x, y) returns squared leave-one-out residuals via HC3 leverage correction
  • new convenience methods on FunctionEstimator: leverage(X), loo_residuals_squared(X, y), get_obs_variance(X)
  • FunctionEstimator.loo_residuals_squared() defaults to training data and returns cached result when obs_variance=True
  • obs_variance weights are included in predictor serialization (to_json/from_json)
  • sigma is stored on the predictor and included in serialization
  • sigma now accepts per-feature vectors of shape (p,) or (1, p) for multi-output GPs, giving each output column its own noise level
  • Predictor.covariance() accepts noise_free=True (required when fitted with per-feature sigma) and returns the noise-free posterior covariance
  • performance: reduce redundant kernel computations when obs_variance=True
  • Laplace approximation for posterior uncertainty: predictor_with_uncertainty=True now works with all optimizers, not just optimizer="advi". When using optimizer="L-BFGS-B" or optimizer="adam", a diagonal Laplace approximation is automatically computed at the MAP estimate to provide posterior uncertainty. This enables .mean_covariance(X) and .uncertainty(X) on the predictor without the runtime cost of ADVI.
  • fix requires-python from >=3.6 to >=3.10