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., invalid input: '&' Eberhardt, F. (2014). Learning causal structure from multiple datasets with similar variable sets. Behaviormetrika, 41(1), 41-64.

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)
      Description copied from interface: IndependenceTest
      Returns an Independence test for a sublist of the variables.
      Specified by:
      indTestSubset in interface IndependenceTest
      Parameters:
      vars - The sublist of variables.
      Throws:
      UnsupportedOperationException - Not implemented.
    • checkIndependence

      public IndependenceResult checkIndependence(Node x, Node y, List<Node> z)
      Determines whether variable x is independent of variable y given a list of conditioning variables z.
      Specified by:
      checkIndependence in interface IndependenceTest
      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.
      Throws:
      RuntimeException - if a matrix singularity is encountered.
      See Also:
    • getPValue

      public double getPValue()
      Returns the probability associated with the most recently computed independence test.
      Returns:
      This p-value.
    • setAlpha

      public void setAlpha(double alpha)
      Sets the significance level at which independence judgments should be made. Affects the cutoff for partial correlations to be considered statistically equal to zero.
      Specified by:
      setAlpha in interface IndependenceTest
      Parameters:
      alpha - This level.
      This - alpha.
    • getAlpha

      public double getAlpha()
      Gets the getModel significance level.
      Specified by:
      getAlpha in interface IndependenceTest
      Returns:
      this alpha.
    • 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
      Description copied from interface: IndependenceTest
      Returns true if y is determined the variable in z.
      Specified by:
      determines in interface IndependenceTest
      Returns:
      True if so.
      Throws:
      UnsupportedOperationException - Not implemented.
    • 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.
    • getScore

      public double getScore()
      Returns a number that is positive when dependence holds and more positive for greater dependence.
      Specified by:
      getScore in interface IndependenceTest
      Returns:
      This number
      See Also:
    • 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 is printed.
      Specified by:
      setVerbose in interface IndependenceTest
      Parameters:
      verbose - True if so.