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].
1  analyticsPolyLeg(nlhs, degree, model.fun, forward=NULL)

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

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. 
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.
An objet of class PCEpoly
.
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, 398403.
Sobol', I.M., 2003. Theorems and examples on high dimensional model representation. In Reliability Engineering \& System Safety 79, 187193.
Function polyLeg
calculates
Legendre polynomials on a user dataset.
Function calcPLSPCE
calculates PLSPCE 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)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.