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.

Author:
roberttillman
  • Constructor Details

    • ResolveSepsets

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

    • 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).
    • 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.

    • 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.

    • 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.

    • 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.

    • 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.

    • 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.
    • 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
    • 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
    • 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