Documentation / Developer's manual
Available modules
Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,  
Uranie / Sensitivity v4.9.0
|
Description of the class THSIC. More...
#include <THSIC.h>
Public Types | |
enum | EEstimatedVariance { kUnknown , kStdEmpirical , kMedianeDelta } |
Public Types inherited from URANIE::Sensitivity::TSensitivity | |
enum | ELauncher { kCode , kCodeRemote , kFunction , kRun , kUnknown } |
Public Member Functions | |
Constructor and Destructor | |
THSIC () | |
Default constructor. | |
THSIC (URANIE::DataServer::TDataServer *tds, const char *sInputs, const char *sOutputs, Option_t *option="") | |
THSIC constructor with data contined in the TDS and the inputs and outputs attributes. | |
virtual | ~THSIC () |
Default destructor. | |
Overload Methods | |
virtual void | generateSample (Option_t *option="") |
The generate Sample method. | |
void | computeIndexes (Option_t *option="") |
computeIndexes | |
void | evaluateIndexes (Option_t *option="") |
evaluateIndexes | |
void | drawIndexes (TString sTitle, const char *select="", Option_t *option="") |
Draw the indexes computed by the method. | |
Setting and Getting attributs | |
EEstimatedVariance | getEstimatedVariance () |
Which method used to estimate the variance of the gaussian kernel ( kUnknown | kStdEmpirical | kMedianeDelta ) | |
void | setEstimatedVariance (EEstimatedVariance nMethod) |
Set the method used to estimate the variance of the gaussian kernel ( kUnknown | kStdEmpirical | kMedianeDelta ) | |
Int_t | getNPermutationSample () |
getNPermutationSample | |
void | setNPermutationSample (Int_t ns) |
Set the Permutation sample permutation Size (default NDefaultPermutation) | |
void | setThresholdPermutation (Int_t n) |
Int_t | getThresholdPermutation () |
Get the Threshold (nS/nX) to use the permutation permutation test to cumpute the p-value (default NDefaultThresholdPermutation) | |
void | setThresholdGamma (Int_t n) |
Set the Threshold (nS/nX) to use the Gamma approximation to cumpute the p-value (default NDefaultThresholdGamma) | |
Int_t | getThresholdGamma () |
Get the Threshold (nS/nX) to use the Gamma approximation to cumpute the p-value (default NDefaultThresholdGamma) | |
General methods | |
void | generateHMatrix (Option_t *option="") |
generate the matrix | |
Double_t | computeTrace (TMatrixD mat, TMatrixD crtMatHLH) |
compute the trace of the product matrix | |
TMatrixDSym | doubleCentering (const TMatrixDSym &mat) |
compute the matrix matrix | |
TMatrixDSym | getMatrixKGaussian (const char *sAtt, Double_t dvariance) |
getMatrixKGaussian | |
Double_t | getSumOfMatrixBk (TMatrixD matHLkH, TMatrixD matHLH) |
getSumOfMatrixBk | |
Double_t | estimateSigma (const char *sAtt, Option_t *option="") |
estimateSigma | |
Double_t | unBiasedHSIC (TMatrixD matKx, TMatrixD matKy) |
Use the unbiased formula to compute . | |
void | permutedPermMatrix (TMatrixDSym &theMatK, TList *tlstIndex, TList *tlstMatrix) |
Create the list of permuted Permutation sample. | |
Parse the option | |
The options treated by the THSIC object were :
| |
virtual void | parseOption (Option_t *option="") |
Parse the option given by the user. | |
Printing Log | |
virtual void | printLog (Option_t *option="") |
Print the Log. | |
void | printSummary (Option_t *option="") |
Print the summary of the HSIC method. | |
Public Member Functions inherited from URANIE::Sensitivity::TSensitivityTest | |
TSensitivityTest () | |
Default constructor. | |
TSensitivityTest (URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="") | |
Default constructor. | |
virtual | ~TSensitivityTest () |
Default destructor. | |
Public Member Functions inherited from URANIE::Sensitivity::TSensitivity | |
TSensitivity () | |
Default constructor. | |
TSensitivity (URANIE::DataServer::TDataServer *tds, const char *fcn, Int_t ns, const char *varexpinput="", const char *varexpoutput="", Option_t *option="") | |
Default constructor with the name of a function. | |
TSensitivity (URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), const char *varexpinput, const char *varexpoutput, Int_t ns, Option_t *option="") | |
TSensitivity (URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="") | |
Default constructor. | |
TSensitivity (URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *code, Int_t ns, Option_t *option="") | |
Default constructor with TCode arg. | |
TSensitivity (URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t ns, Option_t *option="") | |
Default constructor with TRun arg. | |
virtual | ~TSensitivity () |
Default destructor. | |
Int_t | getID () |
virtual TTree * | getResultTuple (bool commonresulttuple=true) |
Get the result ntuple (default parameter unused but for Morris method) | |
double | getValue (const char *sorder="", const char *sinputname="", const char *sselect="") |
vector< int > * | getAttributeElements (string str) |
void | setFunction (void(*fct)(Double_t *, Double_t *), Int_t nx=-1, Int_t ny=1) |
TString | getFunctionName () |
void | setSeed (UInt_t nval) |
UInt_t | getSeed () |
virtual void | setMethodName (const char *str) |
Set the Method name. | |
const char * | getMethodName () |
Get the method name. | |
Bool_t | getNoIntermediateSaved () |
Get the noIntermediateSaved flag. | |
const char * | getIteratorName () |
Get the name of the iterator attribut of the method. | |
void | setSensitivityIteratorName (const char *str) |
Set the iterator name devoted to compute sensitivity indexes. | |
void | setTimeName (TString sname) |
Set the name of the time attribute (only one) | |
TString | getTimeName () |
Get the name of the time attribute. | |
virtual void | setDrawProgressBar (Bool_t bbool=kTRUE) |
Set the "draw progress bar" flag. | |
void | setUsingErrors (bool thebool) |
Set the "using error results anyway" option. | |
Bool_t | getDrawProgressBar () |
Get the clean flag. | |
Bool_t | isInputCorrelated () |
TMatrixD | getMatrixInputCorrelation () |
Int_t | getNInput () |
Get the number of input attributes. | |
Int_t | getNOutput () |
Get the number of output attributes. | |
void | setInputCorrelationMatrix (TMatrixD Corr) |
void | checkOutputRequested (string attlist, bool fromoption=false) |
Check the output list requested by the user. | |
void | computeIndexes (Option_t *option="") |
Compute the Sensitivity Indexes. | |
void | fillIndex (const char *sinputname, const char *sorder, Double_t dval, const char *algo="", Double_t dvalCILower=-1.0, Double_t dvalCIUpper=-1.0) |
Method to fill in the tree the value of Sensitivity indexes for an input attribute. | |
virtual void | createTuple (Option_t *option="") |
virtual void | setLog () |
void | unsetLog () |
void | changeLog () |
Bool_t | getLog () |
void | setNLauncher (ELauncher codeLauncher) |
Private Attributes | |
Private and Public attributes | |
EEstimatedVariance | _nEstimatedVariance |
< The H matrix defined by H := ( Kronecker(i,j) - 1/nS) | |
Int_t | _nPermutationSample |
the method to compute the variance for the gaussian kernel | |
Int_t | _nThresholdPermutation |
The number of permutation sample ( permutation ) (default NDefaultPermutation) | |
Int_t | _nThresholdGamma |
The Threshold (nS/nX) to use the permutation permutation test to cumpute the p-value (default 5) | |
Additional Inherited Members | |
Public Attributes inherited from URANIE::Sensitivity::TSensitivity | |
URANIE::DataServer::TDataServer * | _tds |
Pointeur vers un TDS. | |
TList * | _listOfInputAttributes |
List of the input branches. | |
TList * | _listOfOutputAttributes |
List of the input branches. | |
TString | _sTimeAttribute |
The name of the Time attribute. | |
Int_t | _nS |
The number of simulation or other information depend on the used method. | |
Int_t | _nX |
Dimension of the input. | |
UInt_t | _nY |
Dimension of the target. | |
UInt_t | _nElY |
Number of element for one selected output. | |
Int_t | _nbOut |
Total number of Output to be considered. | |
Int_t | _iOut |
counter for output | |
unsigned int | _iy |
iterator over number of element | |
unsigned int | _iely |
iterator over number of element | |
ELauncher | _nLauncher |
The type of launcher. | |
TString | _sFunctionName |
The Name of the evaluatuor. | |
URANIE::Launcher::TCode * | _code |
The tcode. | |
URANIE::Relauncher::TRun * | _run |
TObjArray * | _drawingGarbageCollector |
Garbage collector for prints. | |
Int_t | _nSeed |
The seed of the random generator. | |
Bool_t | _bChosenOutputs |
Fact that the input list is provided or not. | |
Bool_t | _blog |
Boolean for edit the log. | |
Bool_t | _bdrawProgressBar |
Boolean to know if the progress bar has to be drawn. | |
Bool_t | _bnoIntermediateSaved |
Boolean to know if the progress bar has to be drawn. | |
TString | _sIteratorName |
The specific iterator attribute for the method. | |
TString | _sMethodName |
The method name. | |
TString | _sSelectedOutput |
The output. | |
TString | _sSelectedInput |
The input. | |
map< string, unsigned int > | _mAttributeSize |
Map of size of element for attribute;. | |
map< string, vector< int > > | _mAttributeElements |
Map of Elements number to run (if vector subselection is requested) | |
vector< string > | _vOutputNames |
Name of the output. | |
TCanvas * | _canvas |
Canvas object to deal with. | |
void(* | _pFunction )(double *, double *) |
TTree * | _ntresult |
The TTree of results. | |
Protected Member Functions inherited from URANIE::Sensitivity::TSensitivity | |
void | checkCanvasCreation (bool newcan) |
Create a canvas if needed. | |
void | drawIndexesHistogram (TString sTitre, const char *select="", Option_t *option="") |
Draws indexes with an histogram. | |
void | drawIndexesPie (TString sTitre, const char *select="", Option_t *option="") |
Draws indexes with an pie chart. | |
virtual void | preTreatment () |
PreTreatment for every output. | |
virtual void | postTreatment () |
PostTreatment for every output. | |
void | setNoIntermediateSaved (Bool_t bbool=kTRUE) |
Set the "only final file" flag. | |
Protected Attributes inherited from URANIE::Sensitivity::TSensitivity | |
Char_t | _sOutputAttribute [MAXLENGTHSTRING] |
The name of the output attribute. | |
Char_t | _sInputAttribute [MAXLENGTHSTRING] |
The name of the input attribute. | |
Char_t | _sOrder [MAXLENGTHSTRING] |
The order of sensitivity indexes. | |
Char_t | _sMethod [MAXLENGTHSTRING] |
The name of the method. | |
Char_t | _sAlgorithm [MAXLENGTHSTRING] |
The name of the algorithm to compute the index. | |
Double_t | _valSobolCrt |
The value of sensitivity indexes. | |
Double_t | _valSobolCILower |
The value of lower Condidence Interval (95) | |
Double_t | _valSobolCIUpper |
The value of upper Condidence Interval (95) | |
TMatrixD | _minputCorr |
Input correlation matrix if sample needs to be correlated. | |
Bool_t | _bisInputCorrelated |
State whether the input correlation matrix is set. | |
Bool_t | _bgoingThroughError |
State whether the error must not block the computation. | |
Detailed Description
Description of the class THSIC.
Description of the class THSIC.
Introduction
The goal of this class is to find the list of input attributes which are dependent with the output attributes using the "HSIC" values (for "Hilbert-Schmidt Independence Criterion"). This approach was introduced by Gretton (2005, 2007).
Moreover, in the same time, we compute the proposed by Da Veiga (2015) given by the formula
Draw Indexes
We use a "Pareto chart" to draw the "p-Values" and the .
Bibliography
- Da Veiga, S. " Global Sensitivity Analysis with Dependence Measures ", https://arxiv.org/abs/1311.2483, 2013
- Zhang, Q., Filippi, S., Gretton, A., Sejdinovic, D., "Large-Scale Kernel Methods for Independence Testing", 2016
- Gretton, A., Fukumizu, K., Teo, C.H., Song, L., Schoelkopf, B., et Smola, A., "A Kernel Statistical Test of Independence,", NIPS 2007
- Gretton, A., Herbrich, R., Smola, A., Bousquet, O., et Schoelkopf, B., "Kernel Methods for Measuring Independence", Journal of Machine Learning Research, 6 , pp.2075–2129, 2005
- The Pareto chart, https://en.wikipedia.org/wiki/Pareto_chart
Member Enumeration Documentation
◆ EEstimatedVariance
Constructor & Destructor Documentation
◆ THSIC() [1/2]
URANIE::Sensitivity::THSIC::THSIC | ( | ) |
Default constructor.
Referenced by ClassImp().
◆ THSIC() [2/2]
URANIE::Sensitivity::THSIC::THSIC | ( | URANIE::DataServer::TDataServer * | tds, |
const char * | sInputs, | ||
const char * | sOutputs, | ||
Option_t * | option = "" |
||
) |
THSIC constructor with data contined in the TDS and the inputs and outputs attributes.
- Parameters
-
tds sInputs sOutputs option (Option_t *) option to pass [""]
◆ ~THSIC()
|
virtual |
Default destructor.
Referenced by ClassImp().
Member Function Documentation
◆ computeIndexes()
void URANIE::Sensitivity::THSIC::computeIndexes | ( | Option_t * | option = "" | ) |
◆ computeTrace()
Double_t URANIE::Sensitivity::THSIC::computeTrace | ( | TMatrixD | mat, |
TMatrixD | crtMatHLH | ||
) |
compute the trace of the product matrix
- Parameters
-
mat (TMatrixD) the matrix crtMatHLH (TMatrixD) the matrix
- Returns
- (Double_t) the trace od the product matrix
Referenced by ClassImp().
◆ doubleCentering()
TMatrixDSym URANIE::Sensitivity::THSIC::doubleCentering | ( | const TMatrixDSym & | mat | ) |
compute the matrix matrix
- Parameters
-
mat (TMatrixD) the matrix
- Returns
- (TMatrixD) the matrix
Referenced by ClassImp().
◆ drawIndexes()
|
virtual |
Draw the indexes computed by the method.
- Parameters
-
sTitle (TString) the title of the graph select (const char*) the select argument option (Option_t *) option to pass [""]
Reimplemented from URANIE::Sensitivity::TSensitivity.
Referenced by ClassImp().
◆ estimateSigma()
Double_t URANIE::Sensitivity::THSIC::estimateSigma | ( | const char * | sAtt, |
Option_t * | option = "" |
||
) |
estimateSigma
- Parameters
-
sAtt option (Option_t *) option to pass [""]
- Returns
Referenced by ClassImp().
◆ evaluateIndexes()
|
virtual |
evaluateIndexes
- Parameters
-
option (Option_t *) option to pass [""]
Implements URANIE::Sensitivity::TSensitivity.
Referenced by ClassImp().
◆ generateHMatrix()
void URANIE::Sensitivity::THSIC::generateHMatrix | ( | Option_t * | option = "" | ) |
generate the matrix
The matrix is defined by the formula
- Parameters
-
option (Option_t *) option to pass [""]
Referenced by ClassImp().
◆ generateSample()
|
virtual |
The generate Sample method.
Nothing to do. Only the case where the TDS contains the data
- Parameters
-
option (Option_t *) option to pass [""]
Implements URANIE::Sensitivity::TSensitivity.
Referenced by ClassImp().
◆ getEstimatedVariance()
|
inline |
Which method used to estimate the variance of the gaussian kernel ( kUnknown | kStdEmpirical | kMedianeDelta )
- kStdEmpirical : the parameters is estimated by the emperical standatd deviation of the attributes
- kMedianeDelta : use the median distance between points
- Returns
- the method used to estimated the variance of the gaussian kernel ( kStdEmpirical | kMedianeDelta )
References _nEstimatedVariance.
◆ getMatrixKGaussian()
TMatrixDSym URANIE::Sensitivity::THSIC::getMatrixKGaussian | ( | const char * | sAtt, |
Double_t | dvariance | ||
) |
◆ getNPermutationSample()
|
inline |
getNPermutationSample
- Returns
- The number of Permutation sample (permutation zize) to estimate the pValues
References _nPermutationSample.
◆ getSumOfMatrixBk()
Double_t URANIE::Sensitivity::THSIC::getSumOfMatrixBk | ( | TMatrixD | matHLkH, |
TMatrixD | matHLH | ||
) |
◆ getThresholdGamma()
|
inline |
Get the Threshold (nS/nX) to use the Gamma approximation to cumpute the p-value (default NDefaultThresholdGamma)
- Returns
- The current Threshold (nS/nX) for using the Gamma approximation
References _nThresholdGamma.
◆ getThresholdPermutation()
|
inline |
Get the Threshold (nS/nX) to use the permutation permutation test to cumpute the p-value (default NDefaultThresholdPermutation)
- Returns
- The current Threshold (nS/nX) for using the permutation permutation test
References _nThresholdPermutation.
◆ parseOption()
|
virtual |
Parse the option given by the user.
- Parameters
-
option (Option_t) the string of option
Reimplemented from URANIE::Sensitivity::TSensitivity.
Referenced by ClassImp().
◆ permutedPermMatrix()
void URANIE::Sensitivity::THSIC::permutedPermMatrix | ( | TMatrixDSym & | theMatK, |
TList * | tlstIndex, | ||
TList * | tlstMatrix | ||
) |
Create the list of permuted Permutation sample.
- Parameters
-
theMatK tlstIndex tlstMatrix
Referenced by ClassImp().
◆ printLog()
|
virtual |
Print the Log.
- Parameters
-
option (Option_t *) option to pass [""]
Reimplemented from URANIE::Sensitivity::TSensitivityTest.
Referenced by ClassImp().
◆ printSummary()
void URANIE::Sensitivity::THSIC::printSummary | ( | Option_t * | option = "" | ) |
Print the summary of the HSIC method.
Print just the results of the method NOT THE LOG Just a test to generalize
- Parameters
-
option (Option_t *) option to pass [""]
Referenced by ClassImp().
◆ setEstimatedVariance()
void URANIE::Sensitivity::THSIC::setEstimatedVariance | ( | EEstimatedVariance | nMethod | ) |
Set the method used to estimate the variance of the gaussian kernel ( kUnknown | kStdEmpirical | kMedianeDelta )
- Parameters
-
nMethod (EEstimatedVariance) One of the ( kStdEmpirical | kMedianeDelta ) choice
- Exceptions
-
UErrorExceptions for the case (kUnknown)
Referenced by ClassImp().
◆ setNPermutationSample()
void URANIE::Sensitivity::THSIC::setNPermutationSample | ( | Int_t | ns | ) |
Set the Permutation sample permutation Size (default NDefaultPermutation)
- Parameters
-
ns size of the permutation permutation size
Referenced by ClassImp().
◆ setThresholdGamma()
void URANIE::Sensitivity::THSIC::setThresholdGamma | ( | Int_t | n | ) |
Set the Threshold (nS/nX) to use the Gamma approximation to cumpute the p-value (default NDefaultThresholdGamma)
- Parameters
-
n (Int_t) the Threshold (nS/nX) for using the Gamma approximation
Referenced by ClassImp().
◆ setThresholdPermutation()
void URANIE::Sensitivity::THSIC::setThresholdPermutation | ( | Int_t | n | ) |
Set the Threshold (nS/nX) to use the permutation permutation test to cumpute the p-value (default NDefaultThresholdPermutation)
Referenced by ClassImp().
◆ unBiasedHSIC()
Double_t URANIE::Sensitivity::THSIC::unBiasedHSIC | ( | TMatrixD | matKx, |
TMatrixD | matKy | ||
) |
Use the unbiased formula to compute .
The unbiased formula can be found in the article of Zhang (2016) (eq. 6 - page 8)
where ( i.e. the kernel matrix with diagonal elements set to zero) and similarly for . is a vector of 1s of relevant dimension.
- Parameters
-
matKx matKy
- Returns
Referenced by ClassImp().
Member Data Documentation
◆ _nEstimatedVariance
|
private |
< The H matrix defined by H := ( Kronecker(i,j) - 1/nS)
Referenced by ClassImp(), and getEstimatedVariance().
◆ _nPermutationSample
|
private |
the method to compute the variance for the gaussian kernel
Referenced by ClassImp(), and getNPermutationSample().
◆ _nThresholdGamma
|
private |
The Threshold (nS/nX) to use the permutation permutation test to cumpute the p-value (default 5)
Referenced by ClassImp(), and getThresholdGamma().
◆ _nThresholdPermutation
|
private |
The number of permutation sample ( permutation ) (default NDefaultPermutation)
Referenced by ClassImp(), and getThresholdPermutation().