Estimation of π₀

Methods

Types

MultipleTesting.StoreyType

Storey's π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, Storey())
0.22222222222222224

julia> estimate(pvals, Storey(0.4))
0.33333333333333337

References

Storey, J.D., Taylor, J.E., and Siegmund, D. (2004). Strong control, conservative point estimation and simultaneous conservative consistency of false discovery rates: a unified approach. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 66, 187–205.

MultipleTesting.StoreyBootstrapType

Storey's closed-form bootstrap π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, StoreyBootstrap())
0.0

julia> estimate(pvals, StoreyBootstrap(0.1:0.1:0.9, 0.2))
0.0

References

Robinson, D. (2016). Original Procedure for Choosing λ. http://varianceexplained.org/files/pi0boot.pdf

Storey, J.D., Taylor, J.E., and Siegmund, D. (2004). Strong control, conservative point estimation and simultaneous conservative consistency of false discovery rates: a unified approach. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 66, 187–205.

MultipleTesting.LeastSlopeType

Least Slope (LSL) π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, LeastSlope())
1.0

References

Benjamini, Y., and Hochberg, Y. (2000). On the Adaptive Control of the False Discovery Rate in Multiple Testing With Independent Statistics. Journal of Educational and Behavioral Statistics 25, 60–83.

MultipleTesting.OracleType

Oracle π₀

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, Oracle(0.5)) # a bit boring...
0.5
MultipleTesting.TwoStepType

Two-step π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, TwoStep())
0.2

julia> estimate(pvals, TwoStep(0.05, BenjaminiLiu()))
0.2

References

Benjamini, Y., Krieger, A.M., and Yekutieli, D. (2006). Adaptive linear step-up procedures that control the false discovery rate. Biometrika 93, 491–507.

MultipleTesting.RightBoundaryType

Right boundary π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, RightBoundary())
0.2127659574468085

julia> estimate(pvals, RightBoundary(0.1:0.1:0.9))
0.25

References

Liang, K., and Nettleton, D. (2012). Adaptive and dynamic adaptive procedures for false discovery rate control and estimation. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 74, 163–182.

MultipleTesting.CensoredBUMType

Censored Beta-Uniform Mixture (censored BUM) π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, CensoredBUM())
0.21052495526400936

References

Markitsis, A., and Lai, Y. (2010). A censored beta mixture model for the estimation of the proportion of non-differentially expressed genes. Bioinformatics 26, 640–646.

MultipleTesting.BUMType

Beta-Uniform Mixture (BUM) π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, BUM())
0.22802795505154264

References

Pounds, S., and Morris, S.W. (2003). Estimating the occurrence of false positives and false negatives in microarray studies by approximating and partitioning the empirical distribution of p-values. Bioinformatics 19, 1236–1242.

MultipleTesting.FlatGrenanderType

Flat Grenander π₀ estimator

Estimates π₀ by finding the longest constant interval in the Grenander estimator.

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, FlatGrenander())
0.42553191489361697

References

Langaas, M., Lindqvist, B.H., and Ferkingstad, E. (2005). Estimating the proportion of true null hypotheses, with application to DNA microarray data. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 67, 555–572.

MultipleTesting.ConvexDecreasingType

Convex Decreasing π₀ estimator

Examples

julia> pvals = PValues([0.001, 0.002, 0.01, 0.03, 0.5]);

julia> estimate(pvals, ConvexDecreasing())
0.013007051336745304

References

Langaas, M., Lindqvist, B.H., and Ferkingstad, E. (2005). Estimating the proportion of true null hypotheses, with application to DNA microarray data. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 67, 555–572.