Class IndTestProbabilistic
- All Implemented Interfaces:
IndependenceTest
- Version:
- $Id: $Id
- Author:
- josephramsey 3/2014
-
Constructor Summary
ConstructorsConstructorDescriptionIndTestProbabilistic(DataSet dataSet) Initializes the test using a discrete data sets. -
Method Summary
Modifier and TypeMethodDescriptioncheckIndependence(Node x, Node y, Node... z) Checks the independence fact in question and returns and independence result.checkIndependence(Node x, Node y, Set<Node> _z) Checks the independence between two variables x and y given a conditioning set z.booleandetermines(Set<Node> z, Node y) Determines whether a given set of nodes, z, determines another node, y.doublegetAlpha()Returns the alpha parameter for the probabilistic test.getData()Returns the data model associated with this instance.getH()Returns a map from independence facts to their posterior probabilities of independence.Declares what this test can do, natively, with data containing missing values.doubleReturns the posterior probability of the last independence test.getVariable(String name) Retrieves the Node object that matches the given name from the list of nodes.Returns the list of variables used in this object.indTestSubset(List<Node> vars) Returns an Independence test for a sublist of the variables.booleanReturns the verbose flag indicating whether verbose output should be printed.doubleprobConstraint(BCInference bci, BCInference.OP op, Node x, Node y, Node[] z, Map<Node, Integer> indices) Returns the probability of the constraint x op y | z.voidsetAlpha(double alpha) Sets the alpha parameter for the probabilistic test.voidsetCutoff(double cutoff) Sets the cutoff for the independence test.voidsetPriorEquivalentSampleSize(double priorEquivalentSampleSize) Sets the prior equivalent sample size for the independence test.voidsetThreshold(boolean threshold) Sets whether the independence test should be thresholded (true) or randomized (false).voidsetVerbose(boolean verbose) Sets the verbose flag indicating whether verbose output should be printed.Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IndependenceTest
canBeSubsampled, getCov, getDataSets, getSampleSize, getVariableNames, isPValueAProbability, toString
-
Constructor Details
-
IndTestProbabilistic
-
-
Method Details
-
indTestSubset
Returns an Independence test for a sublist of the variables.- Specified by:
indTestSubsetin interfaceIndependenceTest- Parameters:
vars- The sublist of variables.- Returns:
- a
IndependenceTestobject
-
checkIndependence
Checks the independence between two variables x and y given a conditioning set z.Returns an independence result that states whether x _||_ y | z and what the p-value of the test is.
In threshold mode the result is deterministic and is cached after the first computation so that repeated queries for the same fact are answered instantly. In randomized mode no caching is performed: each call draws a fresh Bernoulli sample from the posterior probability of independence, which is the source of stochasticity that drives the ensemble search in
PagSamplingRfci.- Specified by:
checkIndependencein interfaceIndependenceTest- Parameters:
x- The first variable to test, represented as a Node object.y- The second variable to test, represented as a Node object._z- The set of conditioning variables, represented as a Set of Node objects.- Returns:
- An IndependenceResult object representing the outcome of the independence test.
- See Also:
-
checkIndependence
Checks the independence fact in question and returns and independence result.Returns an independence result that states whether x _||_ y | z and what the p-value of the test is.
The posterior probability of independence is cached in
Honly in threshold mode. In randomized mode the probability is recomputed on every call so that the random draw made below is truly independent across calls for the same fact.- Specified by:
checkIndependencein interfaceIndependenceTest- Parameters:
x- aNodeobjecty- aNodeobjectz- aNodeobject- Returns:
- The independence result.
- See Also:
-
probConstraint
public double probConstraint(BCInference bci, BCInference.OP op, Node x, Node y, Node[] z, Map<Node, Integer> indices) Returns the probability of the constraint x op y | z.- Parameters:
bci- The BCInference object.op- The operator.x- The first variable.y- The second variable.z- The conditioning set.indices- A map from nodes to their indices.- Returns:
- The probability.
-
getVariables
Returns the list of variables used in this object.- Specified by:
getVariablesin interfaceIndependenceTest- Returns:
- A List of Node objects representing the variables used.
-
getVariable
Retrieves the Node object that matches the given name from the list of nodes.- Specified by:
getVariablein interfaceIndependenceTest- Parameters:
name- The name of the variable to retrieve.- Returns:
- The Node object matching the given name, or null if no match is found.
-
determines
Determines whether a given set of nodes, z, determines another node, y.- Specified by:
determinesin interfaceIndependenceTest- Parameters:
z- A Set of nodes representing the conditioning set.y- The node for which determination is checked.- Returns:
- true if z determines y, false otherwise.
-
getAlpha
public double getAlpha()Returns the alpha parameter for the probabilistic test.- Specified by:
getAlphain interfaceIndependenceTest- Returns:
- The alpha parameter.
-
setAlpha
public void setAlpha(double alpha) Sets the alpha parameter for the probabilistic test.- Specified by:
setAlphain interfaceIndependenceTest- Parameters:
alpha- The alpha parameter to set.
-
getData
Returns the data model associated with this instance.- Specified by:
getDatain interfaceIndependenceTest- Returns:
- The data model.
-
getH
Returns a map from independence facts to their posterior probabilities of independence. Only facts evaluated in threshold mode are present; randomized-mode calls do not populate this map.- Returns:
- A defensive copy of the map.
-
getPosterior
public double getPosterior()Returns the posterior probability of the last independence test.- Returns:
- The posterior probability.
-
isVerbose
public boolean isVerbose()Returns the verbose flag indicating whether verbose output should be printed.- Specified by:
isVerbosein interfaceIndependenceTest- Returns:
- The verbose flag.
-
setVerbose
public void setVerbose(boolean verbose) Sets the verbose flag indicating whether verbose output should be printed.- Specified by:
setVerbosein interfaceIndependenceTest- Parameters:
verbose- true if verbose output should be printed, false otherwise.
-
setThreshold
public void setThreshold(boolean threshold) Sets whether the independence test should be thresholded (true) or randomized (false).- Parameters:
threshold- true if the independence test should be thresholded, false if it should be randomized.
-
setCutoff
public void setCutoff(double cutoff) Sets the cutoff for the independence test.- Parameters:
cutoff- the cutoff for the independence test.
-
setPriorEquivalentSampleSize
public void setPriorEquivalentSampleSize(double priorEquivalentSampleSize) Sets the prior equivalent sample size for the independence test. The prior equivalent sample size is a parameter used in the calculation of the test statistic. A higher sample size will make the test more conservative, while a lower sample size will make the test more liberal.- Parameters:
priorEquivalentSampleSize- the prior equivalent sample size to set
-
getMissingValueSupport
Declares what this test can do, natively, with data containing missing values. The default isMissingValueSupport.NONE, meaning that missingness must be handled upstream (e.g., by imputation, or by supplying an EM-estimated covariance matrix if the test consumes one); tests that handle missing values themselves should override this.Each test uses only the rows on which x, y, and the conditioning variables are all observed (getRows excludes rows containing the missing-value sentinel for any variable involved), i.e., test-wise deletion, unbiased only under MCAR.
- Specified by:
getMissingValueSupportin interfaceIndependenceTest- Returns:
MissingValueSupport.TESTWISE.
-