Hello,

I just started exploring OpenTURNS, which seems to be a quite powerful UQ
toolbox with advanced features implemented. Thanks for offering it to the
users worldwide.
I wanted seek help regarding few tasks in spite of my efforts to find
similar examples.

I have a quite expensive computational fluid dynamics simulations
(multiphase flow), which requires building a surrogate model (metamodel) in
order to perform other uncertainty quantification analysis.

I conducted by generating an optimal Latin Hypercube based sampling for 5
input parameters (x1, ..., x5) and one scalar response variables or
quantities of interest (y1) using other tools extrernally.

I am trying to perform several tasks as listed below with OpenTURNS:
(1) construct a kriging metamodel and and assess the adequacy of the
metamodel preferably with cross-validation error assessment or some other
statistical measure.
(2) perform sensitivity analysis using ANCOVA as my input parameters are
correlated such that x1= 1- (x2+x3+x4+x5) and each of the inputs have a
certain range of lower and upper bounds.

Reviewing the available examples, I think I was able to generate the
kriging metamodel as shown at the end of my email. However, I couldn't
figure out how to perform cross-validation or assessment of the adequacy of
the metamodel.
All of the examples that I was able to find appears to have an explicit
model defined algebraically such as in the Kriging the cantilever beam
model:
model = ot.SymbolicFunction(["E", "F", "L", "I"], ["F*L^3/(3*E*I)"])

In my case, I don't have an explicit model definition so could you please
help me showing an example on how to assess the adequacy of the metamodel
constructed? I found the following information but again there was explicit
definition for model and metamodel:
http://openturns.github.io/openturns/master/user_manual/response_surface/_generated/openturns.MetaModelValidation.html#openturns-metamodelvalidation


My example that I have generated:
---------------------------------------------------------------------
import openturns as ot

# ==============
# Read the design of experiments samples (5 columns for x1,x2,x3,x4,x5)
#  and response variables (1 column)
# ==============
inputSample = ot.Sample.ImportFromCSVFile('InputSamples.csv',',')
y1 = ot.Sample.ImportFromCSVFile('OutputSamples.csv',',')

# ==============
# Construct a kriging metamodel
# ==============
dimension = inputSample.getDimension()
basis = ot.ConstantBasisFactory(dimension).build()
covarianceModel = ot.SquaredExponential([1.]*dimension, [1.0])
algo = ot.KrigingAlgorithm(inputSample, y1, covarianceModel, basis)
algo.run()
result = algo.getResult()
krigingMetamodel = result.getMetaModel()
print(result.getTrendCoefficients())
print(result.getCovarianceModel())

# ==============
# Perform assessment of the quality of the metamodel constructed
# ==============
x1_dist = ot.Uniform(0.2088,0.6975)
x1_dist.setDescription("x1")
x2_dist = ot.Uniform(0.0015,0.499)
x2_dist.setDescription("x2")
x3_dist = ot.Uniform(0.00164,0.4985)
x3_dist.setDescription("x3")
x4_dist = ot.Uniform(2.3921e-5,0.0998)
x4_dist.setDescription("x4")
x5_dist = ot.Uniform(0.000267,0.0999)
x5_dist.setDescription("x5")
myDistribution = ot.ComposedDistribution([x1_dist, x2_dist, x3_dist,
x4_dist, x5_dist])
sampleSize_test = 100

<.... assess the adequacy of the metamodel constructed ...>
---------------------------------------------------------------------

Could you please let me know how can I perform quality check of the
metamodel built in the above example? Then I will try to use example ANCOVA
to perform sensitivity analysis using the metamodel constructed in the
above example.

Thank you very much for your help and time, and my apologies for the long
email.

Aytekin Gel, Ph.D.

-- 
Aytekin Gel, Ph.D.

Manager,
ALPEMI Consulting, LLC
_______________________________________________
OpenTURNS users mailing list
[email protected]
http://openturns.org/mailman/listinfo/users

Reply via email to