GaussianProcess

CalibrateEmulateSample.Emulators.GaussianProcessesPackageType
abstract type GaussianProcessesPackage

Type to dispatch which GP package to use:

  • GPJL for GaussianProcesses.jl, [julia - gradient-free only]
  • SKLJL for the ScikitLearn GaussianProcessRegressor, [python - gradient-free]
  • AGPJL for AbstractGPs.jl, [julia - ForwardDiff compatible]
source
CalibrateEmulateSample.Emulators.GaussianProcessType
struct GaussianProcess{GPPackage, FT, VV<:(AbstractVector)} <: CalibrateEmulateSample.Emulators.MachineLearningTool

Structure holding training input and the fitted Gaussian process regression models.

Fields

  • models::Vector{Union{Nothing, PyCall.PyObject, AbstractGPs.PosteriorGP, GaussianProcesses.GPE}}: The Gaussian Process (GP) Regression model(s) that are fitted to the given input-data pairs.

  • kernel::Union{Nothing, var"#s27", var"#s26", var"#s25"} where {var"#s27"<:GaussianProcesses.Kernel, var"#s26"<:PyCall.PyObject, var"#s25"<:KernelFunctions.Kernel}: Kernel object.

  • noise_learn::Bool: Learn the noise with the White Noise kernel explicitly?

  • alg_reg_noise::Any: Additional observational or regularization noise in used in GP algorithms

  • prediction_type::CalibrateEmulateSample.Emulators.PredictionType: [Deprecated - use add_obs_noise_cov kwarg when calling predict(] Prediction type (y to predict the data, f to predict the latent function).

  • regularization::AbstractVector: Regularization vector for each output dimension (based on algregnoise

source
CalibrateEmulateSample.Emulators.GaussianProcessMethod
GaussianProcess(
    package::AbstractFloat;
    kernel,
    noise_learn,
    alg_reg_noise,
    prediction_type
)
  • package - GaussianProcessPackage object.
  • kernel - GaussianProcesses kernel object. Default is a Squared Exponential kernel.
  • noise_learn - Boolean to additionally learn white noise in decorrelated space. Default is true.
  • alg_reg_noise - Float to fix the (small) regularization parameter of algorithms when noise_learn = true
  • prediction_type - PredictionType object. Default predicts data, not latent function (FType()).
source
CalibrateEmulateSample.Emulators.build_models!Method
build_models!(
    gp::CalibrateEmulateSample.Emulators.GaussianProcess{CalibrateEmulateSample.Emulators.GPJL},
    input_output_pairs::EnsembleKalmanProcesses.DataContainers.PairedDataContainer{FT<:AbstractFloat},
    input_structure_mats,
    output_structure_mats;
    kwargs...
) -> Any

Method to build Gaussian process models based on the package.

source
CalibrateEmulateSample.Emulators.optimize_hyperparameters!Method
optimize_hyperparameters!(
    gp::CalibrateEmulateSample.Emulators.GaussianProcess{CalibrateEmulateSample.Emulators.GPJL},
    args...;
    kwargs...
)

Optimize Gaussian process hyperparameters using in-build package method.

Warning: if one uses GPJL() and wishes to modify positional arguments. The first positional argument must be the Optim method (default LBGFS()).

source
GaussianProcesses.predictMethod
predict(
    gp::CalibrateEmulateSample.Emulators.GaussianProcess{CalibrateEmulateSample.Emulators.GPJL},
    new_inputs::AbstractArray{FT<:AbstractFloat, 2};
    add_obs_noise_cov,
    mlt_kwargs...
) -> Tuple{Any, Any}

Predict means and covariances in decorrelated output space using Gaussian process models. The use of stored FType and YType to control this method is deprecated, the return covariance is now determined by the predict( kwarg add_obs_noise_cov

source