False-positive report probability
The function calculates the false positive report probability (FPRP), the probability of no true association beteween a genetic variant and disease given a statistically significant finding, which depends not only on the observed P value but also on both the prior probability that the assocition is real and the statistical power of the test. An associate result is the false negative reported probability (FNRP). See example for the recommended steps.
The FPRP and FNRP are derived as follows. Let H_0=null hypothesis (no association), H_A=alternative hypothesis (association). Since classic frequentist theory considers they are fixed, one has to resort to Bayesian framework by introduing prior, π=P(H_0=TRUE)=P(association). Let T=test statistic, and P(T>z_α|H_0=TRUE)=P(rejecting\ H_0|H_0=TRUE)=α, P(T>z_α|H_0=FALSE)=P(rejecting\ H_0|H_A=TRUE)=1-β. The joint probability of test and truth of hypothesis can be expressed by α, β and π.
Truth of H_A | significant | nonsignificant | Total |
TRUE | (1-β)π | βπ | π |
FALSE | α (1-π) | (1-α)(1-π) | 1-π |
Total | (1-β)π+α (1-π) | βπ+(1-α)(1-π) | 1 |
We have FPRP=P(H_0=TRUE|T>z_α)= α(1-π)/[α(1-π)+(1-β)π]=\{1+π/(1-π)][(1-β)/α]\}^{-1} and similarly FNRP=\{1+[(1-α)/β][(1-π)/π]\}^{-1}.
FPRP(a,b,pi0,ORlist,logscale=FALSE)
a |
parameter value at which the power is to be evaluated |
b |
the variance for a, or the uppoer point of a 95%CI if logscale=FALSE |
pi0 |
the prior probabiility that H0 is true |
ORlist |
a vector of ORs that is most likely |
logscale |
FALSE=a,b in orginal scale, TRUE=a, b in log scale |
The returned value is a list with compoents,
p |
p value corresponding to a,b |
power |
the power corresponding to the vector of ORs |
FPRP |
False-positive report probability |
FNRP |
False-negative report probability |
Wacholder S, Chanock S, Garcia-Closas M, El ghomli L, Rothman N. (2004) Assessing the probability that a positive report is false: an approach for molecular epidemiology studies. J Natl Cancer Inst 96:434-442
Jing Hua Zhao
## Not run: # Example by Laure El ghormli & Sholom Wacholder on 25-Feb-2004 # Step 1 - Pre-set an FPRP-level criterion for noteworthiness T <- 0.2 # Step 2 - Enter values for the prior that there is an association pi0 <- c(0.25,0.1,0.01,0.001,0.0001,0.00001) # Step 3 - Enter values of odds ratios (OR) that are most likely, assuming that # there is a non-null association ORlist <- c(1.2,1.5,2.0) # Step 4 - Enter OR estimate and 95 OR <- 1.316 ORlo <- 1.08 ORhi <- 1.60 logOR <- log(OR) selogOR <- abs(logOR-log(ORhi))/1.96 p <- ifelse(logOR>0,2*(1-pnorm(logOR/selogOR)),2*pnorm(logOR/selogOR)) p q <- qnorm(1-p/2) POWER <- ifelse(log(ORlist)>0,1-pnorm(q-log(ORlist)/selogOR), pnorm(-q-log(ORlist)/selogOR)) POWER FPRPex <- t(p*(1-pi0)/(p*(1-pi0)+POWER%o%pi0)) row.names(FPRPex) <- pi0 colnames(FPRPex) <- ORlist FPRPex FPRPex>T ## now turn to FPRP OR <- 1.316 ORhi <- 1.60 ORlist <- c(1.2,1.5,2.0) pi0 <- c(0.25,0.1,0.01,0.001,0.0001,0.00001) z <- FPRP(OR,ORhi,pi0,ORlist,logscale=FALSE) z ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.