[ot-users] Matern Covariance Model for Kriging Surrogate Model

LELIEVRE-Nicolas nicolas.lelievre at sigma-clermont.fr
Tue Jul 11 10:50:13 CEST 2017


Hi, 

I want to calibrate a Kriging surrogate model in OpenTurns and I face difficulties. 
Indeed, I want to use the Matern covariance model. 
But, when I run the KrigingAlgorithm optimization, the scale parameters (theta) are not optimized. 
I have studied the problem and found that the LogLikelihood function is constant, no matter how points are in the DoE, what the performance function is and what the dimension is. 

I think that the problem is on the definition of the covariance model since if I use SquaredExponential there is not any problems. 
But, I don't find how to define it correctly. 

May you provide me some helpful advice ? 
Thank you in advance. 

A little example: 

import numpy as np 
import openturns as ot 
def G(X): 
out = 15 - (X[:,0]**2 + X[:,1]**2 - 5*np.cos(2*np.pi*X[:,0]) - 5*np.cos(2*np.pi*X[:,1])) 
return out 

dim = 2 
Loi = np.ones(dim) 
Moy = np.ones(dim) 
Stdev = np.ones(dim) 
nini = 100 

nva = np.size(Loi) 
DOE_u = np.random.normal(0,1,(nini,nva)) 
DOE_y = G(DOE_u) 
DOE_y = DOE_y.reshape((nini,1)) 

inputSample = ot.Sample(DOE_u) 
outputSample = ot.Sample(DOE_y) 
basis = ot.ConstantBasisFactory(nva).build() 
covarianceModel = ot.MaternModel(nva) 
covarianceModel.setNu(5/2) 
algo = ot.KrigingAlgorithm(inputSample, outputSample, covarianceModel, basis) 
algo.run() 
result = algo.getResult() 
print(result.getCovarianceModel()) 
LogLikelihood = algo.getReducedLogLikelihoodFunction() 

Nicolas Lelièvre 
Doctorant Institut Pascal Clermont-Ferrand 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openturns.org/pipermail/users/attachments/20170711/acf9bd4a/attachment.html>


More information about the users mailing list