Class IndTestFisherZ

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

public final class IndTestFisherZ 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
  • Constructor Details

    • IndTestFisherZ

      public IndTestFisherZ(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.
    • IndTestFisherZ

      public IndTestFisherZ(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 alpha level of the test.
    • IndTestFisherZ

      public IndTestFisherZ(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.
      Parameters:
      covMatrix - The covariance matrix.
      alpha - The alpha level of the test.
  • 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.
      Returns:
      a new independence test.
      See Also:
    • checkIndependence

      public IndependenceResult checkIndependence(Node x, Node y, Set<Node> z)
      Determines whether variable x _||_ y | z given a list of conditioning variables z.
      Specified by:
      checkIndependence in interface IndependenceTest
      Returns:
      Independence result for x _||_ y | z.
      Throws:
      RuntimeException - if a matrix singularity is encountered.
      See Also:
    • getBic

      public double getBic()
      Returns the BIC score for this test.
      Returns:
      The BIC score.
    • getAlpha

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

      public void setVariables(List<Node> variables)
      Sets the variables to a new list of the same size. Useful if multiple independence tests are needed with object-identical sets of variables.
      Parameters:
      variables - The new list of variables.
    • getVariable

      public Node getVariable(String name)
      Returns the variable with the given name.
      Specified by:
      getVariable in interface IndependenceTest
      Returns:
      This variable.
    • getData

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

      public ICovarianceMatrix getCov()
      Returns the correlation matrix being analyzed.
      Specified by:
      getCov in interface IndependenceTest
      Returns:
      This correlation matrix.
    • getDataSets

      public List<DataSet> getDataSets()
      Returns the (singleton) list of datasets being analyzed.
      Specified by:
      getDataSets in interface IndependenceTest
      Returns:
      This list (length 1).
    • getSampleSize

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

      public boolean isVerbose()
      Returns true iff 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 so.
    • 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.
    • determines

      public boolean determines(List<Node> z, Node x) throws UnsupportedOperationException
      Returns true in case the variable in Z jointly determine x.
      Parameters:
      z - The contitioning variables.
      x - The conditioned variable.
      Throws:
      UnsupportedOperationException