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
Ishigami [Saltelli, 2000, Chap. 2]
Sobol [Sobol', 2003] functions.
Legendre polynomials are then computed
after calibration within the bounds [-1, +1].
integer equal to the number of rows of the dataset.
integer equal to the degree of the polynomial. Should be greater than 1 and less than 11.
string equal to the required model. Valid values are
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.
The Ishigami function has three inputs that
are linked to the output
Y according to:
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
The four last are set to 0.5 (see Gauchi, 2017).
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 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
An objet of class
The returned values are dependent on the random seed.
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.
Legendre polynomials on a user dataset.
calcPLSPCE calculates PLS-PCE sensivity indexes
from the returned
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)