Class IndTestMvpLrt

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

public class IndTestMvpLrt extends Object implements IndependenceTest
Performs a test of conditional independence X _||_ Y | Z1...Zn where all variables are either continuous or discrete. This test is valid for both ordinal and non-ordinal discrete searchVariables.

Andrews, B., Ramsey, J., & Cooper, G. F. (2018). Scoring Bayesian networks of mixed variables. International journal of data science and analytics, 6, 3-18.

Version:
$Id: $Id
Author:
Bryan Andrews
  • Constructor Details

    • IndTestMvpLrt

      public IndTestMvpLrt(DataSet data, double alpha, int fDegree, boolean discretize)
      Constructor.
      Parameters:
      data - The mixed continuous/discrete dataset.
      alpha - The significance level.
      fDegree - The f degree.
      discretize - True if continuous children should be discretized.
  • 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 IndependenceTest object for the sublist of variables.
    • checkIndependence

      public IndependenceResult checkIndependence(Node x, Node y, Set<Node> _z)
      Determines whether two nodes are independent 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 an undefined p-value is encountered.
      See Also:
    • getVariables

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

      public boolean determines(List<Node> z, Node y)
      Determines whether two nodes are independent given a set of conditioning nodes.
      Parameters:
      z - The set of conditioning nodes.
      y - The second node.
      Returns:
      true if the two nodes are independent, false otherwise.
      Throws:
      UnsupportedOperationException - if the method is not implemented.
    • getAlpha

      public double getAlpha()
      Returns the significance level of the independence test.
      Specified by:
      getAlpha in interface IndependenceTest
      Returns:
      This level.
      Throws:
      UnsupportedOperationException - if there is no significance level.
    • setAlpha

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

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

      public boolean isVerbose()
      Returns whether verbose output should be printed.
      Specified by:
      isVerbose in interface IndependenceTest
      Returns:
      true if verbose output should be printed, false otherwise
    • setVerbose

      public void setVerbose(boolean verbose)
      Sets whether this test will print verbose output.
      Specified by:
      setVerbose in interface IndependenceTest
      Parameters:
      verbose - true if verbose output should be printed, false otherwise.