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

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

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)
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 PCESI
calculates PCE sensivity indexes
from the returned
object.
1 2 3 4 5  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)

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.