Class IndTestDegenerateGaussianLrt

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

public class IndTestDegenerateGaussianLrt extends Object implements IndependenceTest
Implements degenerate Gaussian test as a likelihood ratio test. The reference is here:

Andrews, B., Ramsey, J., & Cooper, G. F. (2019, July). Learning high-dimensional directed acyclic graphs with mixed data-types. In The 2019 ACM SIGKDD Workshop on Causal Discovery (pp. 4-21). PMLR.

Version:
$Id: $Id
Author:
Bryan Andrews, Joseph Ramsey refactoring 2024-12-26
  • Constructor Details

    • IndTestDegenerateGaussianLrt

      public IndTestDegenerateGaussianLrt(DataSet dataSet)
      Constructs the test using the given (mixed) data set.
      Parameters:
      dataSet - The data being analyzed.
  • Method Details

    • indTestSubset

      public IndependenceTest indTestSubset(List<Node> vars)
      Subsets the variables used in the independence test.
      Specified by:
      indTestSubset in interface IndependenceTest
      Parameters:
      vars - The sublist of variables.
      Returns:
      The IndependenceTest object with subset of variables.
      Throws:
      UnsupportedOperationException - if the method is not implemented.
    • checkIndependence

      public IndependenceResult checkIndependence(Node x, Node y, Set<Node> z)
      Tests for the conditional independence of two nodes given a set of conditioning nodes.
      Specified by:
      checkIndependence in interface IndependenceTest
      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.
    • getPValue

      public double getPValue()
      Returns the probability associated with the most recently executed independence test, of Double.NaN if p value is not meaningful for this test.
      Returns:
      This p-value.
    • getVariables

      public List<Node> getVariables()
      Returns the list of variables over which this independence checker is capable of determinining independence relations.
      Specified by:
      getVariables in interface IndependenceTest
      Returns:
      This list.
    • getAlpha

      public double getAlpha()
      Returns the significance level of the independence test.
      Specified by:
      getAlpha in interface IndependenceTest
      Returns:
      this level, default 0.01.
    • setAlpha

      public void setAlpha(double alpha)
      Sets the significance level.
      Specified by:
      setAlpha in interface IndependenceTest
      Parameters:
      alpha - This level.
    • getData

      public DataSet getData()
      Returns a copy of the dataset being analyzed.
      Specified by:
      getData in interface IndependenceTest
      Returns:
      This data.
    • 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 iff verbose output should be printed.
      Specified by:
      isVerbose in interface IndependenceTest
      Returns:
      True if the case.
    • setVerbose

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

      public void setLambda(double lambda)
      Sets the lambda value for the test.
      Parameters:
      lambda - The singularity lambda parameter to be used in the independence test.