Class IndTestFisherZFisherPValue

java.lang.Object
edu.cmu.tetrad.search.test.IndTestFisherZFisherPValue
All Implemented Interfaces:
IndependenceTest

public final class IndTestFisherZFisherPValue extends Object implements IndependenceTest
Calculates independence from multiple datasets from using the Fisher method of pooling independence results. See this paper for details:

Tillman, R. E., & Eberhardt, F. (2014). Learning causal structure from multiple datasets with similar variable sets. Behaviormetrika, 41(1), 41-64.

Version:
$Id: $Id
Author:
robertillman, josephramsey
  • Constructor Details

    • IndTestFisherZFisherPValue

      public IndTestFisherZFisherPValue(List<DataSet> dataSets, double alpha)
      Constructor.
      Parameters:
      dataSets - The continuous datasets to analyze.
      alpha - The alpha significance cutoff value.
  • Method Details

    • indTestSubset

      public IndependenceTest indTestSubset(List<Node> vars)
      Returns an Independence test for a sublist of the variables.
      Specified by:
      indTestSubset in interface IndependenceTest
      Parameters:
      vars - The sublist of variables.
      Returns:
      The independence test for the sublist of variables.
    • checkIndependence

      public IndependenceResult checkIndependence(Node x, Node y, Set<Node> _z)
      Checks for independence between two nodes given a set of conditioning nodes.
      Specified by:
      checkIndependence in interface IndependenceTest
      Parameters:
      x - The first node.
      y - The second node.
      _z - The set of conditioning nodes.
      Returns:
      The result of the independence test.
      Throws:
      RuntimeException - If a singularity is encountered during the test.
      See Also:
    • getAlpha

      public double getAlpha()
      Gets the getModel significance level.
      Specified by:
      getAlpha in interface IndependenceTest
      Returns:
      this alpha.
    • setAlpha

      public void setAlpha(double alpha)
      Sets the alpha significance cutoff value.
      Specified by:
      setAlpha in interface IndependenceTest
      Parameters:
      alpha - The alpha significance cutoff value.
      Throws:
      IllegalArgumentException - If the alpha value is out of range (0.0 to 1.0).
    • getVariables

      public List<Node> 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:
      getVariables in interface IndependenceTest
      Returns:
      This list.
    • determines

      public boolean determines(List<Node> z, Node x) throws UnsupportedOperationException
      Determines if a given list of conditioning nodes (z) determines the value of a specific node (x).
      Parameters:
      z - The list of conditioning nodes.
      x - The specific node to determine.
      Returns:
      True if the list of conditioning nodes determines the specific node; False otherwise.
      Throws:
      UnsupportedOperationException - Always throws this exception.
    • getData

      public DataSet getData()
      Returns the concatenated data.
      Specified by:
      getData in interface IndependenceTest
      Returns:
      This data
      See Also:
    • getCov

      public ICovarianceMatrix getCov()
      Returns the covariance matrix of the concatenated data.
      Specified by:
      getCov in interface IndependenceTest
      Returns:
      This covariance matrix.
    • toString

      public String toString()
      Returns a string representation of this test.
      Specified by:
      toString in interface IndependenceTest
      Overrides:
      toString in class Object
      Returns:
      This string.
    • isVerbose

      public boolean isVerbose()
      Returns True if verbose output should be printed.
      Specified by:
      isVerbose in interface IndependenceTest
      Returns:
      True, if so.
    • setVerbose

      public void setVerbose(boolean verbose)
      Sets whether verbose output should be printed.
      Specified by:
      setVerbose in interface IndependenceTest
      Parameters:
      verbose - True if verbose output should be printed, False otherwise.