Copulas-Type and Family

Dear Professor Sudret;
Dear Dr. Marelli;
Dear all developers and contributors,
First and foremost, Thanks for the state of the art framework, UQLAB.

I have some misunderstandings about copula families and types. Here are my assumptions:

  • If we want to show dependency between the marginals properly, we can use copula.
  • The above mentioned copula can be written:
    InputOpts.Copula.Type = ‘Pair’;

InputOpts.Copula.Family = ‘Gumbel’;

InputOpts.Copula.Parameters = 1.5;

  • There is another form of dependency definition in section (UserManual_Kriging):
    MetaOpts.Corr.Family= ’ matern-5_2 ’
    MetaOpts.Corr.Type= ’ ellipsoidal’
  • Another Example ( (UserManual_Reliability)):
    AKOpts.AKMCS.PCK.Kriging.Corr.Family = ‘Gaussian’;

Please help me in understanding the differences between
the “.Corr.Type= ’ ellipsoidal”, “.Kriging.Corr.Family = 'Gaussian’” and marginal copulas?

In a sentence, if we want to define a full dependent model using copula along with metamodels such as pck, what is the right approach?



Hi @ali,

Welcome to UQWorld!

I think you understand the use of copula in the present context correctly: it is to create a dependency between marginals (in the case UQLab, of the probabilistic inputs).

The other dependency you mention is specific to Kriging (and PC-Kriging), a metamodeling method in UQLab. Given a dataset, using Kriging (or Gaussian process modeling), we assume that the dependent variables (say, the output of your model) are realizations of a Gaussian process such that they are correlated with each other. This correlation can be constructed from a correlation kernel function of different families (matern-5_2, exponential, etc.). The kernel function, in turn, is a function of a pair of the dependent variables (say, the inputs of your model).

In other words, while the correlation function describes the correlation between a pair of dependent variables (output), it is a function of a pair of independent variables (inputs). Note that this correlation function does not describe the correlation between your inputs.

Finally, the correlation types you’ve seen in the context of Kriging refers to the way to construct a multi-dimensional correlation function from one-dimensional kernel functions (see Section 1.4.2 of the Kriging User Manual).

So, I think, it’s two separate things: the dependency of your inputs as described by copulas (with their families and types) and the dependency of your outputs as described by correlation functions (with their own families and types) in the case of Kriging metamodeling. If you use other metamodeling approaches (such as PCE or LRA) then there is no such function that describes the output dependency.

If your case involves both Kriging and dependent inputs, then you need to specify both separately.

I hope this answers your question.

1 Like

Dear @damarginal
I really appreciate your precise and kind reply
As you mentioned comprehensively, the differences between them are stem from INPUTS and OUTPUTS, respectively.
Thank you