You're reading the documentation for a development version. For the latest stable documentation, please have a look at v5.1.X.
Gaussian Process Regression¶
Group /input/model/unit_XXX/particle_type_ZZZ/adsorption – ADSORPTION_MODEL = GAUSSIAN_PROCESS_REGRESSION
For information on model equations, refer to Gaussian Process Regression.
IS_KINETICSelects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = quasi-stationary. If a single value is given, the mode is set for all bound states. Otherwise, the adsorption mode is set for each bound state separately.
Type: int |
Range: {0,1} |
Length: 1/NTOTALBND |
CP_NDIMNumber of input dimensions per training point used in
CP_VALS. Must equal number of components, user sanity check.
Type: int |
Range: NCOMP |
Length: 1 |
CS_NDIMNumber of output dimensions per training point used in
CS_VALS. Must equal total number of bound states, user sanity check.
Type: int |
Range: NTOTALBOUND |
Length: 1 |
CP_VALSFlattened pore-phase concentration training inputs used by the Gaussian process regression model. The values represent the training input points \(X\) used to evaluate the kernel function. The array is interpreted as an
NTRAINmajor vector.
Unit: \(mol~m_{MP}^{-3}\)
Type: double |
Range: unrestricted |
Length: NTRAIN * CP_NDIM |
CS_VALSSolid-phase training targets corresponding to
CP_VALS. These values form the training output vector used to compute the GPR coefficient vector \(\alpha = (K + \sigma_n^2 I)^{-1} y\).
Unit: \(mol~m_{SP}^{-3}\)
Type: double |
Range: unrestricted |
Length: NTRAIN * CS_NDIM |
GPR_KKINLinear-driving-force coefficients in component-major ordering.
Unit: \(s^{-1}\)
Type: double |
Range: \(\geq 0\) |
Length: NCOMP |
KERNELSelects the kernel function used by the Gaussian process regression model. Supported values are
MLP,RBF,RBF_Linear, andMLP_Linear.
Type: string |
Range: {MLP, RBF, RBF_Linear, MLP_Linear} |
Length: 1 |
Kernel-Specific Hyperparameters¶
Each bound state requires its own kernel configuration specified using the
suffix _BNDXXX, where XXX is the zero-padded bound state index
(e.g., _BND000, _BND001, _BND002).
Bound state indices are assigned sequentially across components: if component 0 has 2 bound states and component 1 has 1 bound state, the indices are:
Bound state 0: component 0, state 0
Bound state 1: component 0, state 1
Bound state 2: component 1, state 0
The following table summarizes which parameters are required for each kernel:
Kernel |
MLP |
RBF |
RBF_Linear |
MLP_Linear |
|---|---|---|---|---|
MLP_WEIGHT_VARIANCE_BND_XXX |
✓ |
— |
— |
✓ |
MLP_BIAS_VARIANCE_BND_XXX |
✓ |
— |
— |
✓ |
MLP_VARIANCE_BND_XXX |
✓ |
— |
— |
✓ |
RBF_VARIANCE_BND_XXX |
— |
✓ |
✓ |
— |
RBF_LENGTHSCALE_BND_XXX |
— |
✓ |
✓ |
— |
LINEAR_VARIANCE_BND_XXX |
— |
— |
✓ |
✓ |
GAUSSIAN_NOISE_VARIANCE_BND_XXX |
✓ |
✓ |
✓ |
✓ |
MLP_WEIGHT_VARIANCE_BND_XXXWeight variance hyperparameter for the MLP (arc-cosine) kernel. Required for
MLPandMLP_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
MLP_BIAS_VARIANCE_BND_XXXBias variance hyperparameter for the MLP (arc-cosine) kernel. Required for
MLPandMLP_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
MLP_VARIANCE_BND_XXXOutput variance hyperparameter for the MLP (arc-cosine) kernel. Required for
MLPandMLP_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
RBF_VARIANCE_BND_XXXOutput variance hyperparameter for the RBF (squared exponential) kernel. Required for
RBFandRBF_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
RBF_LENGTHSCALE_BND_XXXLengthscale hyperparameter for the RBF kernel, expected as \(\ell^2\) (squared lengthscale as exported from scikit-learn). Required for
RBFandRBF_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
LINEAR_VARIANCE_BND_XXXVariance hyperparameter for the linear kernel. Required for
RBF_LinearandMLP_Linearkernels.
Type: double |
Range: \(\geq 0\) |
Length: 1 |
GAUSSIAN_NOISE_VARIANCE_BND_XXXNoise variance hyperparameter \(\sigma_n^2\) added to the kernel diagonal for numerical stability and observation noise modeling. Required for all kernel types.
Type: double |
Range: \(> 0\) |
Length: 1 |