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
