Kriging: Problem with setting 'simple' Trend option

Dear UQ-Lab Community,

I am setting up a Kriging metamodel and want to incorporate a custom basis function. I do not want it to be scaled by some beta, that’s why I chose the ‘simple’ option. See excerpt from table below.
However, when assessing the result, I see that some beta was estimated. (myModel.Kriging.beta is nonempty.) How do I resolve this?


MetaOptsGP.Type ='Metamodel';
MetaOptsGP.MetaType = 'Kriging';
MetaOptsGP.ExpDesign.Sampling = 'User';
MetaOptsGP.ExpDesign.X = X(:,4:5);
MetaOptsGP.ExpDesign.Y = Y;
MetaOptsGP.Trend.Type = 'custom';
MetaOptsGP.Trend.CustomF = @(input_GP) 15;%uq_evalModel(obj.BasisFunction.PCE, input_GP);
MetaOptsGP.Corr.Family = 'Gaussian';...'Exponential';
MetaOptsGP.Corr.Type = 'Ellipsoidal';
MetaOptsGP.Corr.Isotropic = false;
MetaOptsGP.Corr.Nugget = 1e-10;
MetaOptsGP.EstimMethod = 'ML'; % oder 'CV'
% MetaOptsGP.CV.LeaveKOut = 10;
MetaOptsGP.Optim.InitialValue = std(X(:,4:5));
MetaOptsGP.Optim.Bounds = [zeros(1,size(MetaOptsGP.ExpDesign.X,2)); MetaOptsGP.Optim.InitialValue*10];
MetaOptsGP.Optim.Display = 'iter';
MetaOptsGP.Optim.MaxIter = 50;
MetaOptsGP.Optim.Tol = 1e-4;
MetaOptsGP.Optim.Method = 'HGA'; % 'LBFGS' 'GA' 'HGA' 'CMAES' 'HCMAES'
...MetaOptsGP.Optim.BFGS.nLM = 10;
MetaOptsGP.Optim.Regression.SigmaNSQ = 'none';
MetaOptsGP.Optim.Regression.SigmaSQ.InitialValue.InitialValue = std(Y)/sqrt(2);
MetaOptsGP.Optim.Regression.SigmaSQ.Bound = [0.1; 10]*std(Y)/sqrt(2);
% MetaOptsGP.Kriging.beta = 1;

MetaOptsGP.Scaling = false;

GP_UQLab = uq_createModel(MetaOptsGP);
close all; 

Dear Robert

In your code snippet I see that you have chosen MetaOptsGP.Trend.Type = 'custom' and not a simple trend.

Best regards

1 Like

Oh my, thanks, turns, out I checked the wrong code. You can delete the thread I think.

Just a small thing before it’s deleted: I think in the manual there is a small mistake:


The ‘optim’ between Metaopts and Regression makes problems and is not consistent with Table 16.