Learn R Programming

polychaosbasics (version 1.1-0)

analyticsPolyLeg: Calculate Legendre Polynomials on a Simulated Dataset

Description

This function calculates Legendre polynomials on a simulated LHS. The dataset is generated by using the function randomLHS (from package lhs). The output is then calculated by using the Ishigami [Saltelli, 2000, Chap. 2] or Sobol function [Sobol', 2003]. Finally, Legendre polynomials are computed after calibration within the bounds [-1, +1].

Usage

analyticsPolyLeg(nlhs, degree, model.fun)

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.
model.fun
string equal to the required model. Valid values are 'ishigami' and 'sobol'.

Value

An objet of class PCEpoly.

Details

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

    $$Y=sin(X_1)+7*(sin(X_2))^2+0.1*(X_3)^4*sin(X_1)$$

    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*X_j - 2 + A_j) / (1+A_j)$$

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

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 PCESI calculates PCE sensivity indexes from the returned object.

Examples

Run this code
nlhs <- 200 # number of rows in the dataset
degree <- 6 # polynomial degree
set.seed(42) # fix the seed for reproductible results
pce <- analyticsPolyLeg(nlhs, degree, 'ishigami') 
print(pce)

Run the code above in your browser using DataLab