LMC

Covariance function for multioutput Gaussian Processes based on the Linear Model of Coregionalization (LMC).

The linear model of co-regionalization (LMC) distinctly models the covariances between the inputs and the outputs. Mathematically, the LMC is defined as (Liu et al., 2018; Cheng et al., 2020):

(1)

where, denotes the latent basis index, output covariance matrix of size for the -th covariate, is the input covariance matrix of size for the -th covariate, is the total number of basis functions, and denotes the Kronecker product. is further defined as the sum of two matrices of weights (Cheng et al., 2020):

(2)

where, and are vectors (size ) of hyper-parameters, both for the -th basis. The size is user-defined and it can be greater than or equal to 1. The larger the , the more sophisticated the multi-output Gaussian Process in modeling complex outputs.

If , the LMC reduces to the intrinsic co-regionalization model (ICM).

Example Input File Syntax

[Covariance<<<{"href": "../../syntax/Covariance/index.html"}>>>]
  [covar]
    type = SquaredExponentialCovariance<<<{"description": "Squared Exponential covariance function.", "href": "SquaredExponentialCovariance.html"}>>>
    signal_variance<<<{"description": "Signal Variance ($\\sigma_f^2$) to use for kernel calculation."}>>> = 2.76658083
    noise_variance<<<{"description": "Noise Variance ($\\sigma_n^2$) to use for kernel calculation."}>>> = 0.0
    length_factor<<<{"description": "Length factors to use for Covariance Kernel"}>>> = '3.67866381 2.63421705'
  []
  [lmc]
    type = LMC<<<{"description": "Covariance function for multioutput Gaussian Processes based on the Linear Model of Coregionalization (LMC).", "href": "LMC.html"}>>>
    covariance_functions<<<{"description": "Covariance functions that this covariance function depends on."}>>> = covar
    num_outputs<<<{"description": "The number of outputs expected for this covariance function."}>>> = 2
    num_latent_funcs<<<{"description": "The number of latent functions for the expansion of the outputs."}>>> = 1
  []
[]
(modules/stochastic_tools/test/tests/surrogates/multioutput_gp/mogp_lmc.i)

Input Parameters

  • covariance_functionsCovariance functions that this covariance function depends on.

    C++ Type:std::vector<UserObjectName>

    Controllable:No

    Description:Covariance functions that this covariance function depends on.

  • num_outputs1The number of outputs expected for this covariance function.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:The number of outputs expected for this covariance function.

Required Parameters

  • num_latent_funcs1The number of latent functions for the expansion of the outputs.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:The number of latent functions for the expansion of the outputs.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files

References

  1. L. F. Cheng, B. Dumitrascu, G. Darnell, C. Chivers, M. Draugelis, K. Li, and B. E. Engelhardt. Sparse multi-output gaussian processes for online medical time series prediction. BMC medical informatics and decision making, 20(1):1–23, 2020.[BibTeX]
  2. H. Liu, J. Cai, and Y. S. Ong. Remarks on multi-output gaussian process regression. Knowledge-Based Systems, 144:102–112, 2018.[BibTeX]