Hi!
I am trying to build a surrogate model with a Non-linear Auto-Regressive with eXogenous inputs model. To do so, I use the system identification toolbox and particularly the matlab functions 'nlarx' using a Gaussian process as output function. I read in the documentation that nlarx with 'idGaussianProcess' uses the matlab function 'fitrgp'. It should be possible than to obtain confidence bounds of the prediction (as it is possible to do so with function '[ypred,ysd,yint] = predict(gprMdl,Xnew)' where gprMdl was obtained with 'fitrgp'). Could you help ?
Here is the code I have actually and I would like to add the confidence bounds of the prediction :
% Load estimation and validation datasets ********************************
z = data_est; % iddata object
z_val = data_val; % iddata object
% Plot estimation and validation datasets *********************************
figure
plot(z)
figure
plot(z_val)
% Options for nlarx command ***********************************************
opt = nlarxOptions;
opt.Display = 'on';
opt.Focus = 'prediction'; % default
% Build nlarx model *******************************************************
% Orders (equivalent to linear regressors)
nbIn = 3;
nbOut = 1;
nanbnk = [1*ones(nbOut,nbOut), 1*ones(nbOut,nbIn), ones(nbOut,nbIn)];
% Initialize idnlarx model and choose the Output function
sysMIMO = idnlarx(z.OutputName, z.InputName, nanbnk, 'idGaussianProcess');
% Estimate nlarx model ****************************************************
sysMIMO = nlarx(z,sysMIMO, opt);
% Compare model response to estimation and validation data ****************
% Estimation data
figure; compare(z,sysMIMO)
% Validation data
figure; compare(z_val,sysMIMO)