Package edu.cmu.tetrad.search.test
Class MsepTest
java.lang.Object
edu.cmu.tetrad.search.test.MsepTest
- All Implemented Interfaces:
IndependenceTest
Checks independence facts for variables associated with the nodes in a given graph by checking m-separation facts on the underlying nodes. We use the IndependenceTest interface here so that this m-separation test can be used in place of a statistical conditional independence test in algorithms to provide oracle information.
- Author:
- josephramsey
-
Constructor Summary
ConstructorsConstructorDescriptionMsepTest(IndependenceFacts facts) Constructor.MsepTest(IndependenceFacts facts, boolean keepLatents) Constructor.MsepTest(IndependenceFacts facts, List<Node> variables) Constructor.Constructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncheckIndependence(Node x, Node y, Set<Node> z) Checks the indicated m-separation fact, msep(x , y | z).booleandetermines(List<Node> z, Node x1) doublegetAlpha()Returns an alpha level, 0.5.getData()getGraph()Returns the underlying graph that is being used to calculate d-separation relationships.getVariable(String name) Returns the variable with the given name.Return the list of TetradNodes 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) Returns a test over a subset of the variables.booleanisMSeparated(Node x, Node y, Set<Node> z) Auxiliary method to calculate msep(x, y | z) directly from nodes instead of from variables.booleanReturns True just in case verbose output should be printed.voidsetAlpha(double alpha) Sets the significance level.voidsetVerbose(boolean verbose) Sets whether verbose output should be printed.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
-
MsepTest
Constructor.- Parameters:
graph- The graph for which m-separation facts should be checked. This may be a DAG, CPDAG, or PAG. In the latter case, m-separation results will be returned (same algorithm).
-
MsepTest
Constructor.- Parameters:
facts- Independence facts to be used for direct calculations of m-separation.variables- The variables for the facts, if different from those that independenceFacts would return.- See Also:
-
MsepTest
Constructor.- Parameters:
facts- Independence facts to be used for direct calculations of m-separation.- See Also:
-
MsepTest
Constructor.- Parameters:
graph- The graph for which m-separation facts should be checked. This may be a DAG, CPDAG, or PAG. In the latter case, m-separation results will be returned (same algorithm).keepLatents- Whether latent in the graph should be used in conditional independence facts. If the graph is being marginalized, this should be false.
-
MsepTest
Constructor.- Parameters:
facts- Independence facts to be used for direct calculations of m-separation.keepLatents- Whether latent in the graph should be used in conditional independence facts. If the graph is being marginalized, this should be false.- See Also:
-
-
Method Details
-
indTestSubset
Returns a test over a subset of the variables.- Specified by:
indTestSubsetin interfaceIndependenceTest- Parameters:
vars- The sublist of variables.- Returns:
- This test.
-
checkIndependence
Checks the indicated m-separation fact, msep(x , y | z).- Specified by:
checkIndependencein interfaceIndependenceTest- Returns:
- An independence result for msep(x, y | z).
- See Also:
-
isMSeparated
Auxiliary method to calculate msep(x, y | z) directly from nodes instead of from variables.- Returns:
- True, if so.
-
getVariables
Return the list of TetradNodes 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.
-
determines
- Throws:
UnsupportedOperationException- Since this method is not feasible.
-
getAlpha
public double getAlpha()Returns an alpha level, 0.5. This is an arbitrary nubmer that will help decide whether a pseudo p-value returned by the test represents a dependence or an independence.- Specified by:
getAlphain interfaceIndependenceTest- Returns:
- 0.5.
-
setAlpha
public void setAlpha(double alpha) Description copied from interface:IndependenceTestSets the significance level.- Specified by:
setAlphain interfaceIndependenceTest- Parameters:
alpha- This level.- Throws:
UnsupportedOperationException- it makes no sense to set an alpha level for a d-separation test away from the default.- See Also:
-
getVariable
Returns the variable with the given name.- Specified by:
getVariablein interfaceIndependenceTest- Parameters:
name- The name.- Returns:
- The variable.
-
getGraph
Returns the underlying graph that is being used to calculate d-separation relationships.- Returns:
- This graph.
-
toString
Returns a string representation of this test.- Specified by:
toStringin interfaceIndependenceTest- Overrides:
toStringin classObject- Returns:
- "M-separation".
-
getData
- Specified by:
getDatain interfaceIndependenceTest- Returns:
- The data model for the independence test, either a DataSet or a CovarianceMatrix.
- Throws:
UnsupportedOperationException- Method doesn't make sense here.- See Also:
-
isVerbose
public boolean isVerbose()Returns True just in case verbose output should be printed.- Specified by:
isVerbosein interfaceIndependenceTest- Returns:
- True, if so.
-
setVerbose
public void setVerbose(boolean verbose) Sets whether verbose output should be printed.- Specified by:
setVerbosein interfaceIndependenceTest- Parameters:
verbose- True, if so.
-