Class ResolveSepsets

java.lang.Object
edu.cmu.tetrad.search.utils.ResolveSepsets

public final class ResolveSepsets extends Object

Provides some utilities for resolving inconsistencies that arise between sepsets learned for overlapping datasets. This occurs frequently when using the DCI and ION algorithm. A reference is here:

Tillman, R. E., & Eberhardt, F. (2014). Learning causal structure from multiple datasets with similar variable sets. Behaviormetrika, 41(1), 41-64.

Version:
$Id: $Id
Author:
roberttillman
  • Constructor Details

    • ResolveSepsets

      public ResolveSepsets()
      The method to use for resolving sepsets
  • Method Details

    • isIndependentPooled

      public static boolean isIndependentPooled(ResolveSepsets.Method method, List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Tests for independence using one of the pooled methods
      Parameters:
      method - a ResolveSepsets.Method object
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledFisher

      public static boolean isIndependentPooledFisher(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples using Fisher's method.

      See R. A. Fisher. Statistical Methods for Research Workers. Oliver and Boyd, 11th edition, 1950.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledFisher2

      public static boolean isIndependentPooledFisher2(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Eliminates from considerations independence tests that cannot be evaluated (due to missing variables mainly).
      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledTippett

      public static boolean isIndependentPooledTippett(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples using Tippett's method

      See L. H. C. Tippett. The Method of Statistics. Williams and Norgate, 1st edition, 1950.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledWilkinson

      public static boolean isIndependentPooledWilkinson(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet, int r)
      Checks independence from pooled samples using Wilkinson's method

      I don't have a reference for this but its basically in between Tippett and Worsley and Friston.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      r - a int
      Returns:
      a boolean
    • isIndependentPooledWorsleyFriston

      public static boolean isIndependentPooledWorsleyFriston(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples using Worsley and Friston's method

      See K. J. Worsely and K. J. Friston. A test for conjunction. Statistics and Probability Letters 2000.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledStouffer

      public static boolean isIndependentPooledStouffer(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples using Stouffer et al.'s method

      See S. A. Stouffer, E. A. Suchman, L. C. Devinney, S. A. Star, and R. M. Williams. The American Soldier: Vol. 1. Adjustment During Army Life. Princeton University Press, 1949.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledMudholkerGeorge

      public static boolean isIndependentPooledMudholkerGeorge(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples using Mudholker and George's method

      See G. S. Mudholkar and E. O. George. The logit method for combining probabilities. In J. Rustagi, editor, Symposium on Optimizing Method in Statistics, pages 345-366. Academic Press, 1979.

      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledMudholkerGeorge2

      public static boolean isIndependentPooledMudholkerGeorge2(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      The same as isIndepenentPooledMudholkerGeoerge, except that only available independence tests are used.
      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledAverage

      public static boolean isIndependentPooledAverage(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples by taking the average p value
      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledAverageTest

      public static boolean isIndependentPooledAverageTest(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples by taking the average test statistic CURRENTLY ONLY WORKS FOR CHISQUARE TEST
      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean
    • isIndependentPooledRandom

      public static boolean isIndependentPooledRandom(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet)
      Checks independence from pooled samples by randomly selecting a p value
      Parameters:
      independenceTests - a List object
      x - a Node object
      y - a Node object
      condSet - a Set object
      Returns:
      a boolean