# analyticsPolyLeg: Simulate a Dataset and Calculate Legendre Polynomials In plspolychaos: Sensitivity Indexes from Polynomial Chaos Expansions and PLS

## 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, 2017). 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.

• Function `polyLeg` calculates Legendre polynomials on a user dataset.
• Function `calcPLSPCE` calculates PLS-PCE sensivity indexes from the returned object.
 ```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) ```