Inert Function from Linkletter et al. (2006)

Inert Function from Linkletter et al. (2006)#

import numpy as np
import matplotlib.pyplot as plt
import uqtestfuns as uqtf

The function is a ten-dimensional, scalar-valued function. None of the input variables are active, while the rest is inert. The function was used in [LBH+06] to demonstrate a variable selection method (i.e., sensitivity analysis) in the context of Gaussian process metamodeling.

Note

Linkletter et al. [LBH+06] introduced four ten-dimensional analytical test functions with some of the input variables inert. They are used to demonstrate a variable selection method (i.e., screening) in the context of Gaussian process metamodeling:

  • Linear function features a simple function with four active input variables (out of 10).

  • Linear with decreasing coefficients function features a slightly more complex linear function with eight active input variables (out of 10).

  • Sine function features only two active input variables (out of 10); the effect of the two inputs on the output, however, is very different.

  • Inert function does not have any active input variables; a constant zero is returned for any input values. (this function)

Test function instance#

To create a default instance of the test function:

my_testfun = uqtf.LinkletterSine()

Check if it has been correctly instantiated:

print(my_testfun)
Function ID      : LinkletterSine
Input Dimension  : 10 (fixed)
Output Dimension : 1
Parameterized    : False
Description      : Sine function with 2 active inputs from Linkletter et al. (2006)
Applications     : metamodeling, sensitivity

Description#

The test function is defined as[1]:

\[ \mathcal{M}(\boldsymbol{x}) = 0, \]

where \(\boldsymbol{x} = \left( x_1, \ldots x_{10} \right)\) is the ten-dimensional vector of input variables further defined below. Notice that none of the ten input variables are active.

Note

In the original paper, the function was added with an independent identically distributed (i.i.d) noise from \(\mathcal{N}(0, \sigma)\) with a standard deviation \(\sigma = 0.05\). The response of this function is basically just a random noise.

Furthermore, also in the original paper, a batch of data is generated from the function and then standardized to have mean \(0.0\) and standard deviation \(1.0\).

The implementation of UQTestFuns does not include any error addition or standardization. However, these processes can be done manually after the data is generated.

Probabilistic input#

The probabilistic input model for the test function is shown below.

Hide code cell source
print(my_testfun.prob_input)
Function ID     : LinkletterSine
Input ID        : Linkletter2006
Input Dimension : 10
Description     : Input specification for the sine test function Eq. (7)
                  with two active inputs from Linkletter et al. (2006)
Marginals       :

 No.    Name    Distribution    Parameters    Description
-----  ------  --------------  ------------  -------------
  1     x_1       uniform         [0 1]            -
  2     x_2       uniform         [0 1]            -
  3     x_3       uniform         [0 1]            -
  4     x_4       uniform         [0 1]            -
  5     x_5       uniform         [0 1]            -
  6     x_6       uniform         [0 1]            -
  7     x_7       uniform         [0 1]            -
  8     x_8       uniform         [0 1]            -
  9     x_9       uniform         [0 1]            -
 10     x_10      uniform         [0 1]            -

Copulas         : Independence

References#

[LBH+06] (1,2,3)

Crystal Linkletter, Derek Bingham, Nicholas Hengartner, David Higdon, and Kenny Q. Ye. Variable selection for Gaussian process models in computer experiments. Technometrics, 48(4):478–490, 2006. doi:10.1198/004017006000000228.