Multi-fidelity modeling using Gaussian process regression
This project is motivated to apply multi-fidelity data fusion algorithms to the regression problem in turbulent transport modeling in magnetic fusion plasma. The developed module will be available as a general tool for multi-fidelity regression problems.
mfmodeling module requires external packages: numpy, GPy.
The following is an explanation on the simple usage of NARGP (Nonlinear AutoRegressive Gaussian Process regression [P. Perdikaris (2017)]) as a multi-fidelity regression algorithm. See also tests/NARGP_example_2d/Demo_May2024_NARGP_example_2d.ipynb
.
- Prepare multi-fidelity datasets as a list of each fidelity data.
data_list = [[data_lowfid_x, data_lowfid_y],
[data_highfid_x, data_highfid_y]]
- Instantiate the NARGP object using the above dataset.
from mfmodeling import NARGP
model_nargp = NARGP(data_list = data_list)
- Optimize hyperparameters of the kernel function in NARGP.
model_nargp.optimize()
- Make a prediction.
mean, var = model_nargp.prediction(x_pred)
where mean
and var
are the prediction of posterior mean and variance at your evaluating position x_pred
.
S. Maeyama, M. Honda, E. Narita, S. Toda, "Multi-Fidelity Information Fusion for Turbulent Transport Modeling in Magnetic Fusion Plasma", Scientific Reports 14, 28242 (2024).