Class IndTestFisherZRecursive

java.lang.Object
edu.cmu.tetrad.search.work_in_progress.IndTestFisherZRecursive
All Implemented Interfaces:
IndependenceTest

public final class IndTestFisherZRecursive extends Object implements IndependenceTest
Checks conditional independence of variable in a continuous data set using Fisher's Z test. See Spirtes, Glymour, and Scheines, "Causation, Prediction and Search," 2nd edition, page 94.
Author:
josephramsey, Frank Wimberly adapted IndTestCramerT for Fisher's Z
  • Constructor Details

    • IndTestFisherZRecursive

      public IndTestFisherZRecursive(DataSet dataSet, double alpha)
      Constructs a new Independence test which checks independence facts based on the correlation matrix implied by the given data set (must be continuous). The given significance level is used.
      Parameters:
      dataSet - A data set containing only continuous columns.
      alpha - The alpha level of the test.
    • IndTestFisherZRecursive

      public IndTestFisherZRecursive(Matrix data, List<Node> variables, double alpha)
      Constructs a new Fisher Z independence test with the listed arguments.
      Parameters:
      data - A 2D continuous data set with no missing values.
      variables - A list of variables, a subset of the variables of data.
      alpha - The significance cutoff level. p values less than alpha will be reported as dependent.
    • IndTestFisherZRecursive

      public IndTestFisherZRecursive(ICovarianceMatrix covMatrix, double alpha)
      Constructs a new independence test that will determine conditional independence facts using the given correlation matrix and the given significance level.
  • Method Details

    • indTestSubset

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

      public IndependenceResult checkIndependence(Node x, Node y, Set<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.
    • getAlpha

      public double getAlpha()
      Gets the getModel significance level.
      Specified by:
      getAlpha in interface IndependenceTest
      Returns:
      This level.
    • 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.
    • getVariables

      public List<Node> getVariables()
      Specified by:
      getVariables in interface IndependenceTest
      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.
    • setVariables

      public void setVariables(List<Node> variables)
    • getVariable

      public Node getVariable(String name)
      Description copied from interface: IndependenceTest
      Returns The variable by the given name.
      Specified by:
      getVariable in interface IndependenceTest
      Returns:
      the variable with the given name.
    • determines

      public boolean determines(Set<Node> _z, Node x) throws UnsupportedOperationException
      If isDeterminismAllowed(), deters to IndTestFisherZD; otherwise throws UnsupportedOperationException.
      Specified by:
      determines in interface IndependenceTest
      Returns:
      True, if so.
      Throws:
      UnsupportedOperationException
    • getData

      public DataSet getData()
      Specified by:
      getData in interface IndependenceTest
      Returns:
      the data set being analyzed.
      See Also:
    • toString

      public String toString()
      Description copied from interface: IndependenceTest
      Returns a string representation of this test.
      Specified by:
      toString in interface IndependenceTest
      Overrides:
      toString in class Object
      Returns:
      a string representation of this test.
    • getCov

      public ICovarianceMatrix getCov()
      Description copied from interface: IndependenceTest
      Returns the covariance matrix.
      Specified by:
      getCov in interface IndependenceTest
      Returns:
      This matrix.
    • getDataSets

      public List<DataSet> getDataSets()
      Description copied from interface: IndependenceTest
      Returns the datasets for this test
      Specified by:
      getDataSets in interface IndependenceTest
      Returns:
      these datasets.
    • getSampleSize

      public int getSampleSize()
      Description copied from interface: IndependenceTest
      Returns the sample size.
      Specified by:
      getSampleSize in interface IndependenceTest
      Returns:
      This size.
    • isVerbose

      public boolean isVerbose()
      Description copied from interface: IndependenceTest
      Returns true if the test prints verbose output.
      Specified by:
      isVerbose in interface IndependenceTest
      Returns:
      True if the case.
    • setVerbose

      public void setVerbose(boolean verbose)
      Description copied from interface: IndependenceTest
      Sets whether this test will print verbose output.
      Specified by:
      setVerbose in interface IndependenceTest
      Parameters:
      verbose - True, if so.