RBF regression

The radial basis function surrogate discipline expresses the model output as a weighted sum of kernel functions centered on the learning input data:

\[y = w_1K(\|x-x_1\|;\epsilon) + w_2K(\|x-x_2\|;\epsilon) + ... + w_nK(\|x-x_n\|;\epsilon)\]

and the coefficients \((w_1, w_2, ..., w_n)\) are estimated by least square regression.


The RBF model relies on the Rbf class of the scipy library.

class gemseo.mlearning.regression.rbf.RBFRegression(data, transformer=None, input_names=None, output_names=None, function='multiquadric', der_function=None, epsilon=None, **parameters)[source]

Regression based on radial basis functions.


  • data (Dataset) – learning dataset

  • transformer (dict(str)) – transformation strategy for data groups. If None, do not transform data. Default: None.

  • input_names (list(str)) – names of the input variables. Default: None.

  • output_names (list(str)) – names of the output variables. Default: None.

  • function (str or callable) – radial basis function. Default: ‘multiquadric’.

  • der_function (callable) – derivative of radial basis function, only to be provided if function is callable and not str. The der_function should take three arguments (input_data, norm_input_data, eps). For a RBF of the form function(\(r\)), der_function(\(x\), \(|x|\), \(\epsilon\)) should return \(\epsilon^{-1} x/|x| f'(|x|/\epsilon)\). Default: None.

  • epsilon (float) – Adjustable constant for Gaussian or multiquadrics functions. Default: None.

  • parameters – other RBF parameters (sklearn).