Interpolation variable
This variable up-samples the output of a surrogate model by interpolating between the output values. An interpolation can reduce the cost of obtaining observations at high resolution.
name (str)
The name of the variable under which it can be addressed by other variables or objectives. The name must be distinct from any surrogate name.
Default:
'v'
output_dim (int)
Output dimension of variable.
Default: This value has no default and must be provided
output_names (list[str])
Allows to assign names to each of the outputs of the variable. By specifying input names they can be accessed in variables as
{output_names[0]}, {output_names[1]}, ..., {output_names[K-1]}
, whereK
is the output dimension.Default:
By default, the variables can be accessed as
{name}0, {name}1, ...,{name}(K-1)
, where{name}
is the name of the variable andK
is the output dimension.
input_surrogate (str)
The name of a surrogate.
Default: This value has no default and must be provided
input_positions (list[list[float]])
Each of the \(K\) outputs of a surrogate model is assigned to a specific position in an \(M\)-dimensional.
Default: This value has no default and must be provided
Example
A list of 2D positions (\(M=2\)) for each of six output values of a surrogate model (\(K=6\)).
[[1.0,0.0], [1.0,0.2], [1.0,0.4], [2.0,0.0], [2.0,0.2], [2.0,0.4]]
output_positions (list[list[float]])
A list of \(M\)-dimensional positions at which the interpolation is evaluated. Typically, the length of the list \(K'\) is larger than the number \(K\) of trained outputs of the surrogate model.
Default: This value has no default and must be provided
Example
A list of 10 2D-positions (\(K'=10,M=2\)).
[[1.0,0.0], [1.0,0.1], [1.0,0.2], [1.0,0.3], [1.0,0.4], [2.0,0.0], [2.0,0.1], [2.0,0.2], [2.0,0.3], [2.0,0.4]]
kernel (dict)
Default:
{'matern_order': 5}
Gaussian processes model the correlation (or covariance) between two function values \(f(x), f(x')\) by means of a covariance function \(k(x,x') = k(||x-x'||)\), also called kernel. The kernel is monotonically decreasing for increasing distance \(d = ||x-x'||\) such that far apart function values are uncorrelated while close-by function values are strongly correlated.
The distance \(d\) between function values is defined as the scaled Euclidean distance
\[d = ||x-x'||=\sqrt{\sum_{i=1}^{D}\frac{(x_i−x_i^{'})^{2}}{l_i^{2}}},\]where the hyperparameters \(l_1,\dots,l_D\) determine the characteristic length scales at which the covariance between separated function values becomes negligible.
The Matérn covariance function is defined as
\[k_{\nu}(x, x') = \frac{\sigma_0^2}{\Gamma(\nu)2^{\nu-1}} \left[\sqrt{2\nu} d \right]^\nu K_\nu\left( \sqrt{2\nu} d\right),\]where \(\sigma_0\) is a hyperparameter that determines the standard deviation of possible function values, \(K_\nu(\cdot)\) is a modified Bessel function, and \(\Gamma(\cdot)\) is the gamma function.
See matern configuration for details.
length_scale_multiplier (int)
The interpolation is based on a Gaussian process regression. The length scale in dimension i of the covariance function is chosen to be a multiple
length_scale_multiplier
of the largest distance between sampling points in dimension i.Default:
6