Simulate a Dataset and Calculate Legendre Polynomials

Share:

Description

This function simulates a LHS and calculates the Legendre polynomials, optionally reducted to the most significant monomials.

The inputs are generated by the function randomLHS (from package lhs). Note that they are uniformly and independently sampled. The output is calculated by using the Ishigami [Saltelli, 2000, Chap. 2] or Sobol [Sobol', 2003] functions. Legendre polynomials are then computed after calibration within the bounds [-1, +1].

Usage

1
analyticsPolyLeg(nlhs, degree, model.fun, forward=NULL)

Arguments

nlhs

integer equal to the number of rows of the dataset.

degree

integer equal to the degree of the polynomial. Should be greater than 1 and less than 11.

model.fun

string equal to the required model. Valid values are 'ishigami' and 'sobol'.

forward

NULL or an integer equal to the required number of monomials. A null value (the default), or a value less than the number of inputs or greater than the total number of monomials, means that all the monomials are kept. See details.

Details

  • The Ishigami function has three inputs that are linked to the output Y according to:

    Y=sin(X1)+7*(sin(X2))^2+0.1*(X3)^4*sin(X1)

    Each Xj is a uniform random variable on the interval [-pi, +pi].

  • The Sobol function has height inputs. The four first ones only are generated by using the function randomLHS. The four last are set to 0.5 (see Gauchi, 2016). The output Y is then the product of :

    (4*Xj - 2 + Aj) / (1+Aj)

    for j in 1 to 8, and A=(1,2,5,10,20,50,100,500)

  • When the value of the argument forward is non NULL, it should be an integer equal to the required number of the monomials (let say q). The q monomials are selected, among all the monomials of the full polynomial, by all the linear simple regressions of the output versus all the monomials. Those associated with the q largest R^2 values are kept.

Value

An objet of class PCEpoly.

Note

The returned values are dependent on the random seed.

References

  • Ishigami, T. and Homma, T. 1990. An importance quantification technique in uncertainty analysis for computer models. In Proceedings of the First International Symposium on Uncertainty Modeling and Analysis. IEEE, 398-403.

  • Sobol', I.M., 2003. Theorems and examples on high dimensional model representation. In Reliability Engineering \& System Safety 79, 187-193.

See Also

  • Function polyLeg calculates Legendre polynomials on a user dataset.

  • Function calcPLSPCE calculates PLS-PCE sensivity indexes from the returned object.

Examples

1
2
3
4
5
6
7
8
9
nlhs <- 200 # number of rows in the dataset
degree <- 6 # polynomial degree
set.seed(42) # fix the seed for reproductible results
### Data simulation and creation of the full polynomials
pce <- analyticsPolyLeg(nlhs, degree, 'ishigami') 
print(pce)
### Selection of the 50 most significant monomials
pcef <- analyticsPolyLeg(nlhs, degree, 'ishigami', forward=50)
print(pcef)