Class ResolveSepsets
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumGives the method to be used to resolve sepsets when they conflict. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisIndependentPooled(ResolveSepsets.Method method, List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Tests for independence using one of the pooled methodsstatic booleanisIndependentPooledAverage(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples by taking the average p valuestatic booleanisIndependentPooledAverageTest(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 TESTstatic booleanisIndependentPooledFisher(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples using Fisher's method.static booleanisIndependentPooledFisher2(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Eliminates from considerations independence tests that cannot be evaluated (due to missing variables mainly).static booleanisIndependentPooledMudholkerGeorge(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples using Mudholker and George's methodstatic booleanisIndependentPooledMudholkerGeorge2(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) The same as isIndepenentPooledMudholkerGeoerge, except that only available independence tests are used.static booleanisIndependentPooledRandom(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples by randomly selecting a p valuestatic booleanisIndependentPooledStouffer(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples using Stouffer et al.'s methodstatic booleanisIndependentPooledTippett(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples using Tippett's methodstatic booleanisIndependentPooledWilkinson(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet, int r) Checks independence from pooled samples using Wilkinson's methodstatic booleanisIndependentPooledWorsleyFriston(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) Checks independence from pooled samples using Worsley and Friston's method
-
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) throws InterruptedException Tests for independence using one of the pooled methods- Parameters:
method- aResolveSepsets.MethodobjectindependenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledFisher
public static boolean isIndependentPooledFisher(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException 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- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
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) throws InterruptedException Checks independence from pooled samples using Tippett's methodSee L. H. C. Tippett. The Method of Statistics. Williams and Norgate, 1st edition, 1950.
- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledWilkinson
public static boolean isIndependentPooledWilkinson(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet, int r) throws InterruptedException Checks independence from pooled samples using Wilkinson's methodI don't have a reference for this but its basically in between Tippett and Worsley and Friston.
- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobjectr- a int- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledWorsleyFriston
public static boolean isIndependentPooledWorsleyFriston(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException Checks independence from pooled samples using Worsley and Friston's methodSee K. J. Worsely and K. J. Friston. A test for conjunction. Statistics and Probability Letters 2000.
- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledStouffer
public static boolean isIndependentPooledStouffer(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException Checks independence from pooled samples using Stouffer et al.'s methodSee 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- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledMudholkerGeorge
public static boolean isIndependentPooledMudholkerGeorge(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException Checks independence from pooled samples using Mudholker and George's methodSee 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- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
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) throws InterruptedException Checks independence from pooled samples by taking the average p value- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledAverageTest
public static boolean isIndependentPooledAverageTest(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException Checks independence from pooled samples by taking the average test statistic CURRENTLY ONLY WORKS FOR CHISQUARE TEST- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-
isIndependentPooledRandom
public static boolean isIndependentPooledRandom(List<IndependenceTest> independenceTests, Node x, Node y, Set<Node> condSet) throws InterruptedException Checks independence from pooled samples by randomly selecting a p value- Parameters:
independenceTests- aListobjectx- aNodeobjecty- aNodeobjectcondSet- aSetobject- Returns:
- a boolean
- Throws:
InterruptedException- if any.
-