| Title: | Optimal Thresholding Fisher's P-Value Combination Method |
|---|---|
| Description: | We provide the cumulative distribution function (CDF), quantile, and statistical power calculator for a collection of thresholding Fisher's p-value combination methods, including Fisher's p-value combination method, truncated product method and, in particular, soft-thresholding Fisher's p-value combination method which is proven to be optimal in some context of signal detection. The p-value calculator for the omnibus version of these tests are also included. For reference, please see Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted. |
| Authors: | Hong Zhang and Zheyang Wu |
| Maintainer: | Hong Zhang <[email protected]> |
| License: | GPL-2 |
| Version: | 0.2.0 |
| Built: | 2026-05-17 05:55:09 UTC |
| Source: | https://github.com/cran/TFisher |
CDF of soft-thresholding Fisher's p-value combination statistic under the null hypothesis.
p.soft(q, n, tau1, M = NULL)p.soft(q, n, tau1, M = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
tau1 |
- truncation parameter=normalization parameter. tau1 > 0. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
The left-tail probability of the null distribution of soft-thresholding Fisher's p-value combination statistic at the given quantile.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.soft for the definition of the statistic.
pval <- runif(100) softstat <- stat.soft(p=pval, tau1=0.05) p.soft(q=softstat, n=100, tau1=0.05) M = matrix(0.3,100,100) + diag(1-0.3,100) p.soft(q=softstat, n=100, tau1=0.05, M=M)pval <- runif(100) softstat <- stat.soft(p=pval, tau1=0.05) p.soft(q=softstat, n=100, tau1=0.05) M = matrix(0.3,100,100) + diag(1-0.3,100) p.soft(q=softstat, n=100, tau1=0.05, M=M)
CDF of omnibus soft-thresholding Fisher's p-value combination statistic under the null hypothesis.
p.soft.omni(q, n, TAU1, M = NULL)p.soft.omni(q, n, TAU1, M = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
TAU1 |
- a vector of truncation parameters (=normalization parameters). Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
The left-tail probability of the null distribution of omnibus soft-thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.soft.omni for the definition of the statistic.
q = 0.01 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.soft.omni(q=q, n=n, TAU1=TAU1, M=M)q = 0.01 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.soft.omni(q=q, n=n, TAU1=TAU1, M=M)
CDF of thresholding Fisher's p-value combination statistic under the null hypothesis.
p.tfisher(q, n, tau1, tau2, M = NULL, mu = NULL, sigma2 = NULL, p0 = NULL)p.tfisher(q, n, tau1, tau2, M = NULL, mu = NULL, sigma2 = NULL, p0 = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
tau2 |
- normalization parameter. tau2 >= tau1. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
mu |
- the mean of TFisher statistics. Default = NULL. |
sigma2 |
- the variance of TFisher statistics. Default = NULL. |
p0 |
- the point masse of TFisher statistics. Default = NULL. |
The left-tail probability of the null distribution of thresholding Fisher's p-value combination statistic at the given quantile.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.tfisher for the definition of the statistic.
pval <- runif(20) tfstat <- stat.tfisher(p=pval, tau1=0.25, tau2=0.75) p.tfisher(q=tfstat, n=20, tau1=0.25, tau2=0.75) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tfisher(q=tfstat, n=20, tau1=0.25, tau2=0.75, M=M)pval <- runif(20) tfstat <- stat.tfisher(p=pval, tau1=0.25, tau2=0.75) p.tfisher(q=tfstat, n=20, tau1=0.25, tau2=0.75) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tfisher(q=tfstat, n=20, tau1=0.25, tau2=0.75, M=M)
CDF of omnibus thresholding Fisher's p-value combination statistic under the null hypothesis.
p.tfisher.omni(q, n, TAU1, TAU2, M = NULL, P0 = NULL)p.tfisher.omni(q, n, TAU1, TAU2, M = NULL, P0 = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
TAU1 |
- a vector of truncation parameters. Must be in non-descending order. |
TAU2 |
- a vector of normalization parameters. Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
P0 |
- a vector of point masses of TFisher statistics. Default = NULL. |
The left-tail probability of the null distribution of omnibus thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.tfisher.omni for the definition of the statistic.
q = 0.05 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) TAU2 = c(0.1, 0.2, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tfisher.omni(q=q, n=n, TAU1=TAU1, TAU2=TAU2, M=M)q = 0.05 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) TAU2 = c(0.1, 0.2, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tfisher.omni(q=q, n=n, TAU1=TAU1, TAU2=TAU2, M=M)
CDF of truncated product method statistic under the null hypothesis.
p.tpm(q, n, tau1, M = NULL)p.tpm(q, n, tau1, M = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
The left-tail probability of the null distribution of truncated product method statistic at the given quantile.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
2. Zaykin, D.V., Zhivotovsky, L. A., Westfall, P.H. and Weir, B.S. (2002), Truncated product method for combining P-values. Genet. Epidemiol., 22: 170–185. doi:10.1002/gepi.0042
stat.tpm for the definition of the statistic.
pval <- runif(100) tpmstat <- stat.tpm(p=pval, tau1=0.05) p.tpm(q=tpmstat, n=100, tau1=0.05) M = matrix(0.3,100,100) + diag(1-0.3,100) p.tpm(q=tpmstat, n=100, tau1=0.05, M=M)pval <- runif(100) tpmstat <- stat.tpm(p=pval, tau1=0.05) p.tpm(q=tpmstat, n=100, tau1=0.05) M = matrix(0.3,100,100) + diag(1-0.3,100) p.tpm(q=tpmstat, n=100, tau1=0.05, M=M)
CDF of omnibus truncated product method statistic under the null hypothesis.
p.tpm.omni(q, n, TAU1, M = NULL)p.tpm.omni(q, n, TAU1, M = NULL)
q |
- quantile, could be a vector. |
n |
- dimension parameter, i.e. the number of p-values to be combined. |
TAU1 |
- a vector of truncation parameters. Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence |
The left-tail probability of the null distribution of omnibus truncated product method statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.tpm.omni for the definition of the statistic.
q = 0.05 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tpm.omni(q=q, n=n, TAU1=TAU1, M=M)q = 0.05 n = 20 TAU1 = c(0.01, 0.05, 0.5, 1) M = matrix(0.3,20,20) + diag(1-0.3,20) p.tpm.omni(q=q, n=n, TAU1=TAU1, M=M)
Statistical power of soft-thresholding Fisher's p-value combination test under Gaussian mixture model.
power.soft(alpha, n, tau1, eps = 0, mu = 0)power.soft(alpha, n, tau1, eps = 0, mu = 0)
alpha |
- type-I error rate. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter=normalization parameter. tau1 > 0. |
eps |
- mixing parameter of the Gaussian mixture. |
mu |
- mean of non standard Gaussian model. |
We consider the following hypothesis test,
, where is the mixing parameter,
is the standard normal CDF and is the CDF of normal distribution with defined by mu and .
Power of the soft-thresholding Fisher's p-value combination test.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.soft for the definition of the statistic.
alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.soft(alpha, 100, 0.05, eps = 0.1, mu = 1.2)alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.soft(alpha, 100, 0.05, eps = 0.1, mu = 1.2)
Statistical power of thresholding Fisher's p-value combination test under Gaussian mixture model.
power.tfisher(alpha, n, tau1, tau2, eps = 0, mu = 0)power.tfisher(alpha, n, tau1, tau2, eps = 0, mu = 0)
alpha |
- type-I error rate. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
tau2 |
- normalization parameter. tau2 >= tau1. |
eps |
- mixing parameter of the Gaussian mixture. |
mu |
- mean of non standard Gaussian model. |
We consider the following hypothesis test,
, where is the mixing parameter,
is the standard normal CDF and is the CDF of normal distribution with defined by mu and .
Power of the thresholding Fisher's p-value combination test.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.tfisher for the definition of the statistic.
alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.tfisher(alpha, 100, 0.05, 0.25, eps = 0.1, mu = 1.2)alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.tfisher(alpha, 100, 0.05, 0.25, eps = 0.1, mu = 1.2)
Statistical power of truncated product method test under Gaussian mixture model.
power.tpm(alpha, n, tau1, eps = 0, mu = 0)power.tpm(alpha, n, tau1, eps = 0, mu = 0)
alpha |
- type-I error rate. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. tau1 > 0. |
eps |
- mixing parameter of the Gaussian mixture. |
mu |
- mean of non standard Gaussian model. |
We consider the following hypothesis test,
, where is the mixing parameter,
is the standard normal CDF and is the CDF of normal distribution with defined by mu and .
Power of the truncated product method test.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.soft for the definition of the statistic.
alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.tpm(alpha, 100, 0.05, eps = 0.1, mu = 1.2)alpha = 0.05 #If the alternative hypothesis Gaussian mixture with eps = 0.1 and mu = 1.2:# power.tpm(alpha, 100, 0.05, eps = 0.1, mu = 1.2)
Quantile of soft-thresholding Fisher's p-value combination statistic under the null hypothesis.
q.soft(p, n, tau1, M = NULL)q.soft(p, n, tau1, M = NULL)
p |
- a scalar left probability that defines the quantile. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter=normalization parameter. tau1 > 0. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
Quantile of soft-thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.soft for the definition of the statistic.
## The 0.05 critical value of soft-thresholding statistic when n = 10: q.soft(p=.99, n=20, tau1 = 0.05) M = matrix(0.9,20,20) + diag(1-0.9,20) q.soft(p=.99, n=20, tau1 = 0.05, M=M)## The 0.05 critical value of soft-thresholding statistic when n = 10: q.soft(p=.99, n=20, tau1 = 0.05) M = matrix(0.9,20,20) + diag(1-0.9,20) q.soft(p=.99, n=20, tau1 = 0.05, M=M)
Quantile of thresholding Fisher's p-value combination statistic under the null hypothesis.
q.tfisher(p, n, tau1, tau2, M = NULL)q.tfisher(p, n, tau1, tau2, M = NULL)
p |
- a scalar left probability that defines the quantile. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
tau2 |
- normalization parameter. tau2 >= tau1. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
Quantile of thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
stat.tfisher for the definition of the statistic.
## The 0.05 critical value of TFisher statistic when n = 10: q.tfisher(p=.95, n=20, tau1=0.05, tau2=0.25) ## when corrrelated M = matrix(0.3,20,20) + diag(1-0.3,20) q.tfisher(p=.95, n=20, tau1=0.05, tau2=0.25, M=M)## The 0.05 critical value of TFisher statistic when n = 10: q.tfisher(p=.95, n=20, tau1=0.05, tau2=0.25) ## when corrrelated M = matrix(0.3,20,20) + diag(1-0.3,20) q.tfisher(p=.95, n=20, tau1=0.05, tau2=0.25, M=M)
Quantile of truncated product method statistic under the null hypothesis.
q.tpm(p, n, tau1, M = NULL)q.tpm(p, n, tau1, M = NULL)
p |
- a scalar left probability that defines the quantile. |
n |
- dimension parameter, i.e. the number of input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
Quantile of truncated product method statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
2. Zaykin, D.V., Zhivotovsky, L. A., Westfall, P.H. and Weir, B.S. (2002), Truncated product method for combining P-values. Genet. Epidemiol., 22: 170–185. doi:10.1002/gepi.0042
stat.tpm for the definition of the statistic.
## The 0.05 critical value of TPM statistic when n = 10: q.tpm(p=.95, n=20, tau1 = 0.05) M = matrix(0.3,20,20) + diag(1-0.3,20) q.tpm(p=.95, n=20, tau1 = 0.05, M=M)## The 0.05 critical value of TPM statistic when n = 10: q.tpm(p=.95, n=20, tau1 = 0.05) M = matrix(0.3,20,20) + diag(1-0.3,20) q.tpm(p=.95, n=20, tau1 = 0.05, M=M)
Construct soft-thresholding Fisher's p-value combination statistic.
stat.soft(p, tau1)stat.soft(p, tau1)
p |
- input p-values. |
tau1 |
- truncation parameter=normalization parameter. tau1 > 0. |
Let , be a sequence of p-values, the soft-thresholding statistic
. Soft-thresholding is the special case of TFisher when tau1=tau2.
Soft-thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
pval <- runif(100) stat.soft(p=pval, tau1=0.05)pval <- runif(100) stat.soft(p=pval, tau1=0.05)
Construct omnibus soft-thresholding Fisher's p-value combination statistic.
stat.soft.omni(p, TAU1, M = NULL)stat.soft.omni(p, TAU1, M = NULL)
p |
- input p-values. |
TAU1 |
- a vector of truncation parameters (=normalization parameters). Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
Let , be a sequence of individual statistics with
correlation matrix M, be the corresponding two-sided p-values, then the soft-thresholding statistics
, .
The omnibus test statistic is the minimum p-value of these soft-thresholding tests,
, where is the survival function of .
omni - omnibus soft-thresholding statistic.
pval - p-values of each soft-thresholding tests.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) stat.soft.omni(p=pval, TAU1=TAU1) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.soft.omni(p=pval, TAU1=TAU1, M=M)pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) stat.soft.omni(p=pval, TAU1=TAU1) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.soft.omni(p=pval, TAU1=TAU1, M=M)
Construct thresholding Fisher's p-value combination statistic.
stat.tfisher(p, tau1, tau2)stat.tfisher(p, tau1, tau2)
p |
- input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
tau2 |
- normalization parameter. tau2 >= tau1. |
Let , be a sequence of p-values, the thresholding Fisher's p-value combination statistic
Thresholding Fisher's p-value combination statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
pval <- runif(100) stat.tfisher(p=pval, tau1=0.05, tau2=0.25)pval <- runif(100) stat.tfisher(p=pval, tau1=0.05, tau2=0.25)
Construct omnibus thresholding Fisher's (TFisher) p-value combination statistic.
stat.tfisher.omni(p, TAU1, TAU2, M = NULL, MU = NULL, SIGMA2 = NULL, P0 = NULL)stat.tfisher.omni(p, TAU1, TAU2, M = NULL, MU = NULL, SIGMA2 = NULL, P0 = NULL)
p |
- input p-values from potentially correlated input sstatistics. |
TAU1 |
- a vector of truncation parameters. Must be in non-descending order. |
TAU2 |
- a vector of normalization parameters. Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence |
MU |
- a vector of means of TFisher statistics. Default = NULL. |
SIGMA2 |
- a vector of variances of TFisher statistics. Default = NULL. |
P0 |
- a vector of point masses of TFisher statistics. Default = NULL. |
Let , be a sequence of individual statistics with
correlation matrix M, be the corresponding two-sided p-values, then the TFisher statistics
, .
The omnibus test statistic is the minimum p-value of these thresholding tests,
, where is the survival function of .
omni - omnibus TFisher statistic.
pval - p-values of each TFisher tests.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) TAU2 = c(0.1, 0.2, 0.5, 1) stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2, M=M)pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) TAU2 = c(0.1, 0.2, 0.5, 1) stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2, M=M)
Construct truncated product method statistic.
stat.tpm(p, tau1)stat.tpm(p, tau1)
p |
- input p-values. |
tau1 |
- truncation parameter. 0 < tau1 <= 1. |
Let , be a sequence of p-values, the TPM statistic
. TPM is the special case of TFisher when tau2=1.
Truncated product method statistic.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
2. Zaykin, D.V., Zhivotovsky, L. A., Westfall, P.H. and Weir, B.S. (2002), Truncated product method for combining P-values. Genet. Epidemiol., 22: 170–185. doi:10.1002/gepi.0042
pval <- runif(100) stat.tpm(p=pval, tau1=0.05)pval <- runif(100) stat.tpm(p=pval, tau1=0.05)
Construct omnibus truncated product method statistic.
stat.tpm.omni(p, TAU1, M = NULL)stat.tpm.omni(p, TAU1, M = NULL)
p |
- input p-values. |
TAU1 |
- a vector of truncation parameters. Must be in non-descending order. |
M |
- correlation matrix of the input statistics. Default = NULL assumes independence. |
Let , be a sequence of individual statistics with
correlation matrix M, be the corresponding two-sided p-values, then the truncated product method statistics
, .
The omnibus test statistic is the minimum p-value of these truncated product method tests,
, where is the survival function of .
omni - omnibus truncated product method statistic.
pval - p-values of each truncated product method tests.
1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.
pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) stat.tpm.omni(p=pval, TAU1=TAU1) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.tpm.omni(p=pval, TAU1=TAU1, M=M)pval = runif(20) TAU1 = c(0.01, 0.05, 0.5, 1) stat.tpm.omni(p=pval, TAU1=TAU1) M = matrix(0.3,20,20) + diag(1-0.3,20) stat.tpm.omni(p=pval, TAU1=TAU1, M=M)