HSICEstimatorTargetSensitivity¶
- class HSICEstimatorTargetSensitivity(*args)¶
Implement a HSIC estimator for target analysis.
- Parameters:
- covarianceModelCollectionlist of
CovarianceModel
List of all covariance kernels. The first kernels are linked to the input and the last one is for the output.
- X2-d sequence of float
The input sample used for the HSIC analysis of dimension .
- Y2-d sequence of float
The output sample used for the HSIC analysis of dimension 1.
- estimatorType
HSICStat
An estimator for internal computations.
- filterFunction
Function
A filter function used for the output.
- covarianceModelCollectionlist of
Methods
Draw the HSIC indices.
Draw the p-values obtained with an asymptotic formula.
Draw the p-values obtained by permutation.
Draw the R2-HSIC indices.
Accessor to the object's name.
Get the list of all covariance models used.
Get the dimension of the input sample.
Get the estimator used for computations.
Get the filter function used.
Get the HSIC indices.
Get the input sample.
getName
()Accessor to the object's name.
Get the output sample.
Get the p-values obtained with an asymptotic formula.
Get the p-value estimated through permutations.
Get the number of permutations.
Get the R2-HSIC indices.
getSize
()Get the size of the input sample.
hasName
()Test if the object is named.
run
()Compute all values at once.
Set the covariance models.
setFilterFunction
(filterFunction)Set the filter function.
setInputSample
(inputSample)Set the input sample.
setName
(name)Accessor to the object's name.
setOutputSample
(outputSample)Set the output sample.
Set the number of permutations to be used for p-value estimate.
Examples
>>> import openturns as ot >>> from math import pi >>> ot.RandomGenerator.SetSeed(0)
Generate input and output samples.
>>> # 3d input distribution with an independent copula >>> distX = ot.JointDistribution([ot.Uniform(-pi, pi)] * 3) >>> X = distX.getSample(100) # get a sample >>> >>> # Apply the Ishigami model. >>> inputs = ['X1', 'X2', 'X3'] >>> formula = ['sin(X1) + 5.0 * (sin(X2))^2 + 0.1 * X3^4 * sin(X1)'] >>> modelIshigami = ot.SymbolicFunction(inputs, formula) >>> Y = modelIshigami(X) # Y = modelIshigami(X)
Define covariance kernels for the model inputs. Put them in a list.
>>> covarianceModelCollection = [] >>> for i in range(3): ... Xi = X.getMarginal(i) ... Cov = ot.SquaredExponential(1) ... Cov.setScale(Xi.computeStandardDeviation()) ... covarianceModelCollection.append(Cov)
Append the list with the covariance kernel for the model output.
>>> covarianceModelCollection.append(ot.SquaredExponential(Y.computeStandardDeviation()))
Choose the statistic that will be used to estimate the HSIC indices.
>>> estimatorType = ot.HSICUStat() # could be HSICVStat instead
Define a filter function to apply to the model output.
>>> filter = ot.IndicatorFunction(ot.Interval(5, float('inf')))
Build and use the HSIC estimator for target sensitivity analysis.
>>> hsic = ot.HSICEstimatorTargetSensitivity(covarianceModelCollection, X, Y, estimatorType, filter) >>> print(hsic.getR2HSICIndices()) [0.238014,0.00167123,0.000377241]
- __init__(*args)¶
- drawHSICIndices()¶
Draw the HSIC indices.
- Returns:
- graph
Graph
The graph of all HSIC indices according to components.
- graph
- drawPValuesAsymptotic()¶
Draw the p-values obtained with an asymptotic formula.
- Returns:
- graph
Graph
The graph of all p-values estimated with an asymptotic formula.
- graph
- drawPValuesPermutation()¶
Draw the p-values obtained by permutation.
- Returns:
- graph
Graph
The graph of all p-values by permutation according to components.
- graph
- drawR2HSICIndices()¶
Draw the R2-HSIC indices.
- Returns:
- graph
Graph
The graph of all R2-HSIC indices according to components.
- graph
- getClassName()¶
Accessor to the object’s name.
- Returns:
- class_namestr
The object class name (object.__class__.__name__).
- getCovarianceModelCollection()¶
Get the list of all covariance models used.
- Returns:
- collCovarianceModelCollection
The list of all covariance models used. The last one is the output covariance model.
- getDimension()¶
Get the dimension of the input sample.
- Returns:
- dimint
The dimension of the input sample.
- getEstimator()¶
Get the estimator used for computations.
- Returns:
- estimator
HSICStat
The estimator used for internal computations.
- estimator
- getFilterFunction()¶
Get the filter function used.
- Returns:
- filterFunction
Function
The filter function used for the target estimator.
- filterFunction
- getHSICIndices()¶
Get the HSIC indices.
- Returns:
- hsicIndices
Point
The HSIC indices of all components.
- hsicIndices
- getName()¶
Accessor to the object’s name.
- Returns:
- namestr
The name of the object.
- getOutputSample()¶
Get the output sample.
- Returns:
- outSample
Sample
The output sample used for analysis.
- outSample
- getPValuesAsymptotic()¶
Get the p-values obtained with an asymptotic formula.
- Returns:
- pvalsequence of float
The p-values for all components.
- getPValuesPermutation()¶
Get the p-value estimated through permutations.
- Returns:
- pval
Point
The p-values of all components estimated with permutations of the data.
- pval
- getPermutationSize()¶
Get the number of permutations.
- Returns:
- permutationSizeint
The number of permutations.
- getR2HSICIndices()¶
Get the R2-HSIC indices.
- Returns:
- r2hsicIndices
Point
The R2-HSIC indices of all components.
- r2hsicIndices
- getSize()¶
Get the size of the input sample.
- Returns:
- sizeint
The size of the input sample.
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- run()¶
Compute all values at once.
- setCovarianceModelCollection(coll)¶
Set the covariance models.
- Parameters:
- collCovarianceModelCollection
The list of all covariance models.
- setFilterFunction(filterFunction)¶
Set the filter function.
- Parameters:
- filterFunction
Function
The filter function used for the target estimator.
- filterFunction
- setInputSample(inputSample)¶
Set the input sample.
- Parameters:
- inputSample2-d sequence of float
The input sample to be used.
- setName(name)¶
Accessor to the object’s name.
- Parameters:
- namestr
The name of the object.
- setOutputSample(outputSample)¶
Set the output sample.
- Parameters:
- outputSample2-d sequence of float
The output sample to be used.
- setPermutationSize(B)¶
Set the number of permutations to be used for p-value estimate.
- Parameters:
- Bint
The number of permutation used for p-value estimates.
Examples using the class¶
The HSIC sensitivity indices: the Ishigami model