Learn R Programming

sivipm (version 1.1-4.2)

sivipm: Sensitivity Indices

Description

Compute total and individual sensitivity indices, significant components and auxiliary results.

Usage

sivipm(Y,  XIndic,
        nc=2,  options= c("fo.isivip", "tsivip", "simca", "lazraq"),
        graph = FALSE, alea = FALSE, fast = FALSE,
        output=NULL)

Arguments

Y

Outputs. A data.frame with as many rows as observations and as many columns as response variables.

XIndic

Object of class '>polyX which contains the polynomial description and the dataset of inputs.

nc

Required number of components.

options

Options to select what is calculated. A string vector. Valid values are:

  • fo.isivip first order individual sensitivity indices,

  • tsivip total sensitivity indices,

  • simca significant components calculated by the SIMCA software rule. See Details.

  • lazraq significant components calculated by the Lazraq and Cl<U+00E9>roux test. See Details.

graph

If TRUE, a graph is drawn when options includes tsivip.

alea

If TRUE, an uniform random variable is included in the analysis when options includes tsivip. Then, the non significant monomials are excluded from the total sensitivity indices calculation.

fast

If TRUE, auxiliary results are calculated from the Miller's formulae more adapted to big datasets.

output

If non NULL, additional results are returned in a component named output. Character vector, which valid values are:

  • isivip to return isivip

  • betaNat to return betaNat and betaNat0

  • VIP to return VIP and VIPind

  • Q2 to return Q2 and Q2cum

  • PLS to return PLS results: mweights, weights, x.scores, x.loadings, y.scores, y.loadings, cor.tx, cor.ty, expvar, X.hat, Y.hat

See "Value". It is advised to first determine the number of significant components, by setting the options simca or lazraq, before asking for additional results.

Value

An object of class '>sivip, whose slots are:

fo.isivip and fo.isivip.percent

When options includes fo.isivip, values and sorted percentages of the first order individual sensitivity indices.

tsivip and tsivip.percent

When options includes tsivip, values and sorted percentages of the total sensitivity indices for each input variable.

monosignif

When alea is TRUE, and options includes tsivip, logical vector which indicates the significant monomials.

correlalea

When alea is TRUE, and options includes tsivip, the correlation matrix between the random variable and the outputs.

simca.signifcomponents

When options includes simca, the significant components calculated by the S. Wold's rule (SIMCA software rule). Logical matrix with nc rows and as many columns as response variables. Values are TRUE for the components where the test is positive at 95% level, FALSE otherwise.

lazraq.signifcomponents

When options includes simca, the significant components calculated by the Lazraq and Cl<U+00E9>roux inferential test. Logical vector of length nc with TRUE for the components where the test is positive at 95% level, FALSE otherwise.

output

When output is not NULL, a list with additional results, whose components depend on output option.

  • isivip Individual sensitivity indices for each monomial. Vector of length equal to the number of monomials.

  • betaNat Natural beta. Matrix with as many rows as monomials and as many columns as response variables.

  • betaNat0 Natural beta0 coefficient. Vector of length equal to the number of response variables.

  • VIP Matrix of nc columns and as many rows as monomials.

  • VIPind Matrix with as many rows as response variables and as many columns as monomials.

  • Q2 Matrix with as many columns as response variables and nc rows.

  • Q2cum Matrix with as many columns as response variables + one column and nc rows.

  • PLS PLS results. The dimension of the components are indicated below in brackets. nmono denotes the number of monomials, ny, the number of response variables and nobs the number of observations.

    • betaCR (beta centered and reduced. Vector ny),

    • mweights (nc X nmono),

    • x.scores (nc X nobs),

    • x.loadings (nc X nmono),

    • y.scores (nc X nobs),

    • y.loadings (nc X ny),

    • weights (nc X nmono),

    • cor.tx (nc X nmono),

    • cor.ty (nc X ny),

    • expvar (4 X nc),

    • x.hat(nobs X nmono),

    • y.hat (nobs X ny).

Details

  • When the option simca or lazraq is set, the significant components are computed by the SIMCA software rule, or, by the Lazraq and Cl<U+00E9>roux inferential test, at confidence level 0.95, respectively. The option simca is ignored if there are missing values. The option lazraq is ignored if there are missing values and more than one response variables.

  • When the option alea is set, the non significant monomials are those for which the individual sensitivity indices is less or equal than the one of the random variable. These non significant monomials are excluded from the total sensitivity indices calculation.

  • To analyze big datasets, the option fast is advised.

Examples

Run this code
# NOT RUN {
X <- cornell0[,1:3] # X-inputs
Y <- as.data.frame( cornell0[,8]) # response variable
# Creation of the polynomial:
P <- vect2polyX(X, c("1", "2", "3", "3*3*3"))
# Compute total sensitivity indices:
A <- sivipm(Y, P, options=c("tsivip"))
# See the names of the returned components
getNames(A)
# The main results
summary(A)
# All the results
print(A, all=TRUE)
# Calculation by using the fast algorithm:
B <- sivipm(Y, P, fast = TRUE, options=c("tsivip"))
# }

Run the code above in your browser using DataLab