Learn R Programming

plspolychaos (version 1.1-0)

polyLeg: Calculate Legendre Polynomials on a Dataset

Description

This function calculates Legendre polynomials, optionally reducted to the most significant monomials, on a user dataset. Legendre polynomials are computed after calibration within the bounds [-1, +1].

Usage

polyLeg(lhs, Y, degree, forward=NULL)

Arguments

lhs
matrix with as many columns as inputs. Dataset of inputs. Generally, a space filling design is used for forming this dataset. Typically, this is a simple LHS (see McKay, 1979) or a modified LHS.
Y
vector of length equal to the number of rows in lhs. Model outputs.
degree
integer greater than 1 and less than 11. Degree of the polynomial.
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.

Value

An objet of class PCEpoly.

Details

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.

References

McKay, M.D. and Beckman, R.J. and Conover, W.J. 1979. “A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code”.In Technometrics, 21 (2). 239-245p.

See Also

  • Function analyticsPolyLeg builds Legendre polynomials from a simulated dataset.
  • Function calcPLSPCE calculates PLS-PCE sensivity indexes from the returned object.

Examples

Run this code
### Load the dataset
load(system.file("extdata", "ishigami200.Rda", package="plspolychaos"))
X <- ishi200[, -ncol(ishi200)] # inputs
Y <- ishi200[,  ncol(ishi200)] # output
degree <- 6 # polynomial degree
### Creation of the full polynomials
pce <- polyLeg(X, Y, degree) 
print(pce)
### Selection of the 50 most significant monomials
pcef <- polyLeg(X, Y, degree, forward=50)
print(pcef)

Run the code above in your browser using DataLab