Package ubic.basecode.math.metaanalysis
Class MetaAnalysis
- java.lang.Object
-
- ubic.basecode.math.metaanalysis.MetaAnalysis
-
- Direct Known Subclasses:
CorrelationEffectMetaAnalysis
,MeanDifferenceMetaAnalysis
public abstract class MetaAnalysis extends Object
Statistics for meta-analysis. Methods from Cooper and Hedges (CH); Hunter and Schmidt (HS).In this class "conditional variance" means the variance for one data set. Unconditional means "between data set", or
- Author:
- Paul Pavlidis
-
-
Constructor Summary
Constructors Constructor Description MetaAnalysis()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
fisherCombineLogPvalues(cern.colt.list.DoubleArrayList pvals)
Fisher's method for combining p values (Cooper and Hedges 15-8)static double
fisherCombinePvalues(cern.colt.list.DoubleArrayList pvals)
Fisher's method for combining p values.protected cern.colt.list.DoubleArrayList
metaFEWeights(cern.colt.list.DoubleArrayList variances)
Weights under a fixed effects model.protected double
metaRESampleVariance(cern.colt.list.DoubleArrayList effectSizes)
CH sample variance under random effects model, equation 18-20protected double
metaREVariance(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList variances, cern.colt.list.DoubleArrayList weights)
CH equation 18-23.protected cern.colt.list.DoubleArrayList
metaREWeights(cern.colt.list.DoubleArrayList variances, double sampleVariance)
Under a random effects model, CH eqn.protected double
metaVariance(cern.colt.list.DoubleArrayList variances)
CH 18-3.protected double
metaVariance(cern.colt.list.DoubleArrayList weights, cern.colt.list.DoubleArrayList qualityIndices)
CH 18-3 version 2 for quality weighted.protected double
metaZscore(double metaEffectSize, double metaVariance)
Test statistic for H0: effectSize == 0.protected double
qStatistic(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList variances, double globalMean)
The "Q" statistic used to test homogeneity of effect sizes.double
qTest(double Q, double N)
Test for statistical significance of Q.protected double
weightedMean(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList weights)
General formula for weighted mean of effect sizes.protected double
weightedMean(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList weights, cern.colt.list.DoubleArrayList qualityIndices)
General formula for weighted mean of effect sizes including quality index scores for each value.
-
-
-
Method Detail
-
fisherCombinePvalues
public static double fisherCombinePvalues(cern.colt.list.DoubleArrayList pvals)
Fisher's method for combining p values. (Cooper and Hedges 15-8)- Parameters:
pvals
- DoubleArrayList- Returns:
- double upper tail
-
qTest
public double qTest(double Q, double N)
Test for statistical significance of Q.- Parameters:
Q
- - computed using qStatisticN
- - number of studies.- Returns:
- The upper tail chi-square probability for Q with N - degrees of freedom.
- See Also:
qStatistic(cern.colt.list.DoubleArrayList,cern.colt.list.DoubleArrayList,double)
-
fisherCombineLogPvalues
protected double fisherCombineLogPvalues(cern.colt.list.DoubleArrayList pvals)
Fisher's method for combining p values (Cooper and Hedges 15-8)Use for p values that have already been log transformed.
- Parameters:
pvals
- DoubleArrayList- Returns:
- double upper tail
-
metaFEWeights
protected cern.colt.list.DoubleArrayList metaFEWeights(cern.colt.list.DoubleArrayList variances)
Weights under a fixed effects model. Simply w_i = 1/v_i. CH eqn 18-2.- Parameters:
variances
-- Returns:
-
metaRESampleVariance
protected double metaRESampleVariance(cern.colt.list.DoubleArrayList effectSizes)
CH sample variance under random effects model, equation 18-20- Returns:
-
metaREVariance
protected double metaREVariance(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList variances, cern.colt.list.DoubleArrayList weights)
CH equation 18-23. Another estimator of the between-studies variance s2 for random effects model. This is non-zero only if Q is larger than expected under the null hypothesis that the variance is zero.sˆ2 = [Q - ( k - 1 ) ] / c
wherec = Max(sum_i=1ˆk w_i - [ sum_iˆk w_iˆ2 / sum_iˆk w_i ], 0)
- Parameters:
effectSizes
-variances
-weights
-- Returns:
-
metaREWeights
protected cern.colt.list.DoubleArrayList metaREWeights(cern.colt.list.DoubleArrayList variances, double sampleVariance)
Under a random effects model, CH eqn. 18-24, we replace the conditional variance with the sum of the between-sample variance and the conditional variance.v_iˆ* = sigma-hat_thetaˆ2 + v_i.
- Parameters:
variances
- Conditional variancessampleVariance
- estimated...somehow.- Returns:
-
metaVariance
protected double metaVariance(cern.colt.list.DoubleArrayList variances)
CH 18-3. Can be used for fixed or random effects model, the variances just have to computed differently.v_dot = 1/sum_i=1ˆk ( 1/v_i)
- Parameters:
variances
-- Returns:
-
metaVariance
protected double metaVariance(cern.colt.list.DoubleArrayList weights, cern.colt.list.DoubleArrayList qualityIndices)
CH 18-3 version 2 for quality weighted. ( page 266 ) in Fixed effects model.v_dot = [ sum_i=1ˆk ( q_i ˆ 2 * w_i) ]/[ sum_i=1ˆk q_i * w_i ]ˆ2
- Parameters:
variances
-- Returns:
-
metaZscore
protected double metaZscore(double metaEffectSize, double metaVariance)
Test statistic for H0: effectSize == 0. CH 18-5. For fixed effects model.- Parameters:
metaEffectSize
-metaVariance
-- Returns:
-
qStatistic
protected double qStatistic(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList variances, double globalMean)
The "Q" statistic used to test homogeneity of effect sizes. (Cooper and Hedges 18-6)- Parameters:
effectSizes
- DoubleArrayListvariances
- DoubleArrayListglobalMean
- double- Returns:
- double
-
weightedMean
protected double weightedMean(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList weights)
General formula for weighted mean of effect sizes. Cooper and Hedges 18-1, or HS pg. 100.In HS, the weights are simply the sample sizes. For CH, the weights are 1/v for a fixed effect model. Under a random effects model, we would use 1/(v + v_bs) where v_bs is the between-studies variance.
- Parameters:
effectSizes
-sampleSizes
-- Returns:
-
weightedMean
protected double weightedMean(cern.colt.list.DoubleArrayList effectSizes, cern.colt.list.DoubleArrayList weights, cern.colt.list.DoubleArrayList qualityIndices)
General formula for weighted mean of effect sizes including quality index scores for each value. Cooper and Hedges 18-1, or HS pg. 100.- Parameters:
effectSizes
-sampleSizes
-qualityIndices
-- Returns:
-
-