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: | 2024-10-31 16:33:06 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)