esem.gp_model

esem.gp_model(training_params, training_data, data_processors=None, kernel=None, kernel_op='add', active_dims=None, noise_variance=1.0, name='', gpu=0, **kwargs)

Create a Gaussian process (GP) based emulator with provided training_params (X) and training_data (Y) which assumes independent inputs (and outputs).

The kernel is a key parameter in GP emulation and care should be taken in choosing it.

Parameters
  • training_params (DataFrame) – The training parameters

  • training_data (xarray.DataArray or iris.Cube or array_like) – The training data - the leading dimension should represent training samples

  • data_processors (list of esem.data_processors.DataProcessor) – A list of ‘DataProcessor` to apply to the data transparently before training. Model output will be un-transformed before being returned from the Emulator.

  • kernel (gpflow.kernels.Kernel or list of str or None) – The GP kernel to use. A GPFlow kernel can be specified directly, or a list of kernel names can be provided which will be initialised using the default values (of the correct shape) and combined using kernel_op. Alternatively no kernel can be specified and a default will be used.

  • kernel_op ({'add', 'mul'}) – The operation to perform in order to combine the specified kernel`s. Only used if `kernel is a list of strings.

  • noise_variance (float) – The noise variance to initialise the GP regression model

  • active_dims (list of int or slice or None) – The dimensions to train the GP over (by default all of the dimensions are used)

  • name (str) – An optional name for the emulator

  • gpu (int) – The GPU to use (only applicable for multi-GPU) machines

  • kwargs (dict) – Dict of optional keyword arguments for gpflow.models.GPR, e.g., mean_function

Returns

Emulator – An esem emulator object which can be trained and sampled from