Bayesian Calibration with Multi-fidelity Data in UQLab

Hello UQLab Team,

I am currently engaged with UQLab for Bayesian inference, focusing on model calibration and solving inverse problems with multi-fidelity data. I have encountered several challenges where your expertise would be greatly appreciated.

Problem Description: I am working on the calibration of a simply supported beam, following the example provided in the UQLab User Manual. Contrary to that example, I lack a definitive forward model and have resorted to utilizing 50 sets of low-fidelity data from less accurate sources. To manage this, I’ve created a surrogate model to fit the low-fidelity data and use it as a forward model for the calibration process. This approach was inspired by your “INVERSION: SURROGATE MODEL ACCELERATED CALIBRATION” guide, where I fitted a Gaussian Process (GP) to serve as my forward model.

Prior Configuration: I’m defining the priors as follows:

%% 3 - PRIOR DISTRIBUTION OF THE MODEL PARAMETERS

% Specify these distributions as a UQLab INPUT object:
PriorOpts.Marginals(1).Name = 'b';               % beam width 
PriorOpts.Marginals(1).Type = 'Constant';
PriorOpts.Marginals(1).Parameters = XH(1);%[0.15]   % (m)

PriorOpts.Marginals(2).Name = 'h';               % beam height 
PriorOpts.Marginals(2).Type = 'Constant';
PriorOpts.Marginals(2).Parameters = XH(2);%[0.3];       % (m)

PriorOpts.Marginals(3).Name = 'L';               % beam length 
PriorOpts.Marginals(3).Type = 'Constant';
PriorOpts.Marginals(3).Parameters = XH(3);%5;           % (m)

PriorOpts.Marginals(4).Name = 'E';               % Young's modulus
PriorOpts.Marginals(4).Type = 'LogNormal';
PriorOpts.Marginals(4).Moments = [30 4.5]*1e9;   % (N/m^2)

PriorOpts.Marginals(5).Name = 'p';               % uniform load 
PriorOpts.Marginals(5).Type = 'Gaussian';
PriorOpts.Marginals(5).Moments = [12000 1000]; % (N/m)

myPriorDist = uq_createInput(PriorOpts);

High-Fidelity Data Sample: This is based on a single high-fidelity sample with parameters (b=0.15, h=0.3, L=5, E = 30e+9, P = 1.2e+04), from which I expect to estimate posterior values close to the true values of E and P after model calibration.

Low-Fidelity Data Sample (XL, YL): I have compiled a data set of 50 low-fidelity samples. While these samples feature varied inputs, they fall within the same parameter ranges as the high-fidelity data point. The variation in these low-fidelity samples aims to enrich the calibration process by providing a broader spectrum of data points for the surrogate model to learn from. Using the following I have fit GP and used it as the forward model in MyBayesianAnalysis.

%% 2 - FORWARD MODEL
gpModel = fitrgp(XL, YL','Standardize', true);
% Save the trained GP model to a .mat file
save('trained_gp_model.mat', 'gpModel');
ModelOpts1.Name = 'Beam mid-span deflection1';
ModelOpts1.mFile = 'tpredict_gp';
myForwardModel = uq_createModel(ModelOpts1);

For your convenience and further insight, I have included my code snippets as an attachment to this correspondence.

Questions:

  1. Post-Calibration Prediction: After completing the calibration process, I am looking to apply the calibrated model to new test data, which was not included in the calibration dataset. However, I am unclear on the methodology UQLab recommends for this prediction step. Could you offer guidance on this process or direct me to relevant resources?
  2. Prior Sensitivity: I have noticed that the calibration outcomes are quite sensitive to the chosen prior distributions. Is this level of sensitivity to be expected in Bayesian calibration, or might it suggest a potential issue with my model or calibration process?
  3. Managing Multiple High-Fidelity Datasets: Moving forward, I intend to work with several high-fidelity data, each with unique input parameters. In other words instead of fixed input parameters, my study will involve diverse beam deflection measurements derived from various input parameters. Based on insights from a UQWorld forum (Bayesian inference with multiple forward model with different numbers of provided measurements but with one common discrepancy model and parameter?), it seems that developing separate models for each dataset may be advisable. Could you confirm if this strategy aligns with best practices in UQLab for such situations involving diverse high-fidelity inputs?

Your feedback would be invaluable for advancing my project, and I look forward to your expert advice.

Warm regards,

Amin
Calibration with UQ.zip (27.1 KB)