Class SepsetsSet

java.lang.Object
edu.cmu.tetrad.search.utils.SepsetsSet
All Implemented Interfaces:
SepsetProducer

public class SepsetsSet extends Object implements SepsetProducer

Provides a sepset producer using conditional independence tests to generate the Sepset map.

Version:
$Id: $Id
Author:
josephramsey
See Also:
  • Constructor Details

  • Method Details

    • getSepset

      public Set<Node> getSepset(Node a, Node b, int depth)
      Retrieves the sepset between two nodes.
      Specified by:
      getSepset in interface SepsetProducer
      Parameters:
      a - the first node
      b - the second node
      depth - the depth of the search
      Returns:
      the set of nodes in the sepset between a and b
    • getSepsetContaining

      public Set<Node> getSepsetContaining(Node a, Node b, Set<Node> s, int depth)
      Retrieves the sepset for a and b, where we are expecting this sepset to contain all the nodes in s.
      Specified by:
      getSepsetContaining in interface SepsetProducer
      Parameters:
      a - the first node
      b - the second node
      s - the set of nodes to check in the sepset of a and b
      depth - the depth of the search
      Returns:
      the set of nodes that the sepset of a and b is expected to contain.
      Throws:
      IllegalArgumentException - if the sepset of a and b does not contain all the nodes in s
    • getPValue

      public double getPValue(Node a, Node b, Set<Node> sepset)
      Description copied from interface: SepsetProducer
      Calculates the p-value for a statistical test a _||_ b | sepset.
      Specified by:
      getPValue in interface SepsetProducer
      Parameters:
      a - the first node
      b - the second node
      sepset - the set of nodes
      Returns:
      the p-value for the statistical test
      Throws:
      UnsupportedOperationException - if this method is called
    • setGraph

      public void setGraph(Graph graph)
      Description copied from interface: SepsetProducer
      Sets the graph for the SepsetProducer object.
      Specified by:
      setGraph in interface SepsetProducer
      Parameters:
      graph - the graph to set
    • isUnshieldedCollider

      public boolean isUnshieldedCollider(Node i, Node j, Node k, int depth)

      isUnshieldedCollider.

      Specified by:
      isUnshieldedCollider in interface SepsetProducer
      Parameters:
      i - a Node object
      j - a Node object
      k - a Node object
      depth - the depth of the search
      Returns:
      a boolean
    • isIndependent

      public boolean isIndependent(Node a, Node b, Set<Node> sepset)
      Checks if node d is independent of node c given the set of nodes in sepset.
      Specified by:
      isIndependent in interface SepsetProducer
      Parameters:
      a - the first node
      b - the second node
      sepset - the set of common neighbors between d and c
      Returns:
      true if d is independent of c, false otherwise
    • getScore

      public double getScore()
      Returns the score of the object.
      Specified by:
      getScore in interface SepsetProducer
      Returns:
      the score value
    • getVariables

      public List<Node> getVariables()
      Retrieves the list of variables.
      Specified by:
      getVariables in interface SepsetProducer
      Returns:
      the list of variables as a List of Node objects.
    • isVerbose

      public boolean isVerbose()

      isVerbose.

      Returns:
      a boolean
    • setVerbose

      public void setVerbose(boolean verbose)
      Sets the verbose mode of the SepsetProducer.
      Specified by:
      setVerbose in interface SepsetProducer
      Parameters:
      verbose - true if verbose mode is enabled, false otherwise