Hi Rounak,
To incorporate both the mean and standard deviation of your stochastic experiment data into a Gaussian Process surrogate model in MATLAB, you can use the "Sigma" parameter of the "fitrgp" function. This parameter does not accept a vector of observation noise standard deviations, but you can use a representative scalar noise level, for example, the mean or median of your standard deviations:
mean_output = [103.78; 108.84; 117.68; 109.57; 72.26];
std_output = [4.20; 3.44; 4.25; 10.09; 10.71];
sigma_scalar = mean(std_output);
gprModel = fitrgp(x, mean_output, ...
'KernelFunction', 'squaredexponential', ...
'BasisFunction', 'constant', ...
'Sigma', sigma_scalar, ...
'FitMethod', 'exact', ...
'PredictMethod', 'exact');
Alternatively, omit the Sigma parameter and let fitrgp estimate a single noise level automatically by enabling hyperparameter optimization:
mean_output = [103.78; 108.84; 117.68; 109.57; 72.26];
gprModel_opt = fitrgp(x, mean_output, ...
'KernelFunction', 'squaredexponential', ...
'BasisFunction', 'constant', ...
'OptimizeHyperparameters', 'Sigma', ...
'HyperparameterOptimizationOptions', struct('ShowPlots', true, 'Verbose', 1));