Question about metamodels choice


I am currently building with openturns chaos polynomial and kriging metamodels
I have 20 input parameters and 3 outputs (scalars)

I build metamodel for each output independantly
with a sample of 200 computations (LHS)
I compute predictivity factor Q2 based on a test sample of 20 points
I could do more simulations if needed

for the first output it’s very good, for both type of metamodels (Q2 of 0.97 - 0.99)
but for the 2 other outputs it’s very bad (Q2 < 0.5, sometimes Q2 near 0 and < 0)

I have the feeling that these 2 results could be discontinuous (and physically it’s the case I believe)
one of them is zero in many cases (when geometric parameters are not too bad) and sometimes in some geometric configuration this result is not zero

what could I do in this context ? a better choice of some algorithm used by metamodel building process ?

Thanks in advance for your help !


Hi Flore,
In that case, you may test the following approach:

  • first classify the data,
  • then create a metamodel for each class.

This makes the task of the surrogate much simpler.
The overall metamodel is a composition :

Y = metamodel(classifier(X))

To perform classification, I have used logistic regression (and it improved the situation a lot), but other methods may perform better in some cases.
Best regards,

Hello Flore,
In case you have not done it already, I would first suggest trying to visualize the distributions of the training output data (e.g., as histograms) for the 2 outputs which are poorly modeled. If the phenomena you are trying to model are indeed discontinuous, there is a good chance you’ll be able to see it right away.
Nevertheless, most of the standard surrogate modeling techniques present in the literature are unfortunately not particularly fit to properly model non-stationary functions. The most straightforward solution would be to follow Michaël’s suggestion and create separate surrogate models for different parts of the input design space, depending on the output value.

Hi Flore,

You may be interested by the otmixmod OpenTURNS module, in particular you should check this file. It implements a classification of the joint input/output space using a mixture on Gaussian distributions, then it build a polynomial chaos approximation for each classes and put everything into an ExpertMixture meta-model.

Don’t hesitate to contact me directly if you need further help!



Thanks all!

I joined histograms
P54 is the result where Q2 is very good (near 1.0), it looks like a normal distrib or almost
P55 and P57 are the 2 other results
when P55 > 0.4 - 0.5 : this result have no more physical signification, even if a value is computed
and in many cases when P57 is big, corresponding R95 has no physical signification

I know nothing about classification, however I understand principles…
Define different metamodels from different input domains…
But I have 20 inputs…
Then ExpertMixture could be very intersting
I’ll take a look on that, thanks

I found some pdf doc and slides on internet about otmixmod
thanks !