Package edu.cmu.tetrad.search.test
Class IndTestHsic
java.lang.Object
edu.cmu.tetrad.search.test.IndTestHsic
- All Implemented Interfaces:
IndependenceTest
Checks the conditional independence X _||_ Y | S, where S is a set of continuous variable, and X and Y are discrete variable not in S, using the Hilbert-Schmidth Independence Criterion (HSIC), a kernel based nonparametric test for conditional independence.
The Kpc algorithm by Tillman had run PC using this test; to run Kpc, simply select this test for PC.
- Author:
- Robert Tillman
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionIndTestHsic(DataSet dataSet, double alpha) Constructs a new HSIC Independence test.IndTestHsic(Matrix data, List<Node> variables, double alpha) Constructs a new HSIC Independence test. -
Method Summary
Modifier and TypeMethodDescriptioncheckIndependence(Node y, Node x, Set<Node> _z) Determines whether variable x is independent of variable y given a list of conditioning variables z.booleandetermines(List<Node> z, Node x) doubleempiricalHSIC(Matrix Ky, Matrix Kx, int m) Empirical unconditional Hilbert-Schmidt Dependence Measure for X and YdoubleempiricalHSICincompleteCholesky(Matrix Gy, Matrix Gx, int m) Empirical unconditional Hilbert-Schmidt Dependence Measure for X and Y using incomplete Cholesky decomposition to approximate Gram matricesdoubleempiricalHSICincompleteCholesky(Matrix Gy, Matrix Gx, Matrix Gz, int m) Empirical unconditional Hilbert-Schmidt Dependence Measure for X and Y given Z using incomplete Cholesky decomposition to approximate Gram matricesdoublegetAlpha()Gets the getModel significance level.getData()Returns the data set being analyzed.getVariable(String name) Returns the variable with the given name.Returns the list of variables over which this independence checker is capable of determinine independence relations-- that is, all the variables in the given graph or the given data set.indTestSubset(List<Node> vars) Creates a new IndTestHsic instance for a subset of the variables.booleanReturns true if the test prints verbose output.voidsetAlpha(double alpha) Sets the significance level at which independence judgments should be made.voidsetIncompleteCholesky(double precision) Sets the precision for the Incomplete Choleksy factorization method for approximating Gram matrices.voidsetPerms(int numBootstraps) Set the number of bootstrap samples to usevoidsetRegularizer(double regularizer) Sets the regularizer.voidsetVerbose(boolean verbose) Sets whether this test will print verbose output.toString()Returns a string representation of this test.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface edu.cmu.tetrad.search.IndependenceTest
checkIndependence, determines, getCov, getDataSets, getSampleSize, getVariableNames
-
Constructor Details
-
IndTestHsic
Constructs a new HSIC Independence test. The given significance level is used.- Parameters:
dataSet- A data set containing only continuous columns.alpha- The alpha level of the test.
-
IndTestHsic
Constructs a new HSIC Independence test. The given significance level is used.- Parameters:
data- A matrix of continuous data.variables- The list of variables for the data.alpha- The alpha level of the test.
-
-
Method Details
-
indTestSubset
Creates a new IndTestHsic instance for a subset of the variables.- Specified by:
indTestSubsetin interfaceIndependenceTest- Parameters:
vars- The sublist of variables.- Returns:
- This sublist.
-
checkIndependence
Determines whether variable x is independent of variable y given a list of conditioning variables z.- Specified by:
checkIndependencein interfaceIndependenceTest- Parameters:
x- the one variable being compared.y- the second variable being compared._z- the list of conditioning variables.- Returns:
- True iff x _||_ y | z.
- See Also:
-
empiricalHSIC
Empirical unconditional Hilbert-Schmidt Dependence Measure for X and Y- Parameters:
Ky- centralized Gram matrix for YKx- centralized Gram matrix for Xm- sample size
-
empiricalHSICincompleteCholesky
Empirical unconditional Hilbert-Schmidt Dependence Measure for X and Y using incomplete Cholesky decomposition to approximate Gram matrices- Parameters:
Gy- Choleksy approximate Gram matrix for YGx- Choleksy approximate Gram matrix for Xm- sample size
-
empiricalHSICincompleteCholesky
Empirical unconditional Hilbert-Schmidt Dependence Measure for X and Y given Z using incomplete Cholesky decomposition to approximate Gram matrices- Parameters:
Gy- Choleksy approximate Gram matrix for YGx- Choleksy approximate Gram matrix for XGz- Choleksy approximate Gram matrix for Zm- sample size
-
setIncompleteCholesky
public void setIncompleteCholesky(double precision) Sets the precision for the Incomplete Choleksy factorization method for approximating Gram matrices. A value <= 0 indicates that the Incomplete Cholesky method should not be used and instead use the exact matrices.- Parameters:
precision- This precision.
-
setPerms
public void setPerms(int numBootstraps) Set the number of bootstrap samples to use- Parameters:
numBootstraps- This number.
-
setRegularizer
public void setRegularizer(double regularizer) Sets the regularizer.- Parameters:
regularizer- This value.
-
getAlpha
public double getAlpha()Gets the getModel significance level.- Specified by:
getAlphain interfaceIndependenceTest- Returns:
- This alpha.
-
setAlpha
public void setAlpha(double alpha) Sets the significance level at which independence judgments should be made.- Specified by:
setAlphain interfaceIndependenceTest- Parameters:
alpha- This alpha.
-
getVariables
Returns the list of variables over which this independence checker is capable of determinine independence relations-- that is, all the variables in the given graph or the given data set.- Specified by:
getVariablesin interfaceIndependenceTest- Returns:
- This list.
-
getVariable
Returns the variable with the given name.- Specified by:
getVariablein interfaceIndependenceTest- Returns:
- This string.
-
getData
Returns the data set being analyzed.- Specified by:
getDatain interfaceIndependenceTest- Returns:
- This data.
- See Also:
-
toString
Returns a string representation of this test.- Specified by:
toStringin interfaceIndependenceTest- Overrides:
toStringin classObject- Returns:
- This string.
-
determines
- Throws:
UnsupportedOperationException- Method not supported.
-
isVerbose
public boolean isVerbose()Description copied from interface:IndependenceTestReturns true if the test prints verbose output.- Specified by:
isVerbosein interfaceIndependenceTest- Returns:
- True if the case.
-
setVerbose
public void setVerbose(boolean verbose) Description copied from interface:IndependenceTestSets whether this test will print verbose output.- Specified by:
setVerbosein interfaceIndependenceTest- Parameters:
verbose- True, if so.
-