Learn R Programming

FDX (version 2.0.0)

weighted.PB: Weighted Poisson-Binomial Procedure

Description

Apply the weighted [wPB] procedure, with or without computing the critical values, to a set of p-values. Both arithmetic and geometric weighting are available. Additionally, the user can choose between exact computation of the Poisson-Binomial distribution or a refined normal approximation.

Usage

weighted.PB(
  test.results,
  weights = NULL,
  alpha = 0.05,
  zeta = 0.5,
  weighting.method = c("AM", "GM"),
  critical.values = FALSE,
  exact = TRUE,
  select.threshold = 1
)

wPB.AM( test.results, weights, alpha = 0.05, zeta = 0.5, critical.values = FALSE, exact = TRUE, select.threshold = 1 )

wPB.GM( test.results, weights, alpha = 0.05, zeta = 0.5, critical.values = FALSE, exact = TRUE, select.threshold = 1 )

Value

A FDX S3 class object whose elements are:

Rejected

rejected raw \(p\)-values.

Indices

indices of rejected \(p\)-values.

Num.rejected

number of rejections.

Weighted

weighted \(p\)-values.

Adjusted

adjusted \(p\)-values.

Critical.values

critical values (only exists if computations where performed with critical.values = TRUE).

Select

list with data related to \(p\)-value selection; only exists if threshold < 1.

Select$Threshold

\(p\)-value selection threshold.

Select$Effective.Thresholds

results of each \(p\)-value CDF evaluated at the selection threshold.

Select$Pvalues

selected \(p\)-values that are \(\leq\) selection threshold.

Select$Indices

indices of \(p\)-values \(\leq\) selection threshold.

Select$Scaled

scaled selected \(p\)-values.

Select$Number

number of selected \(p\)-values \(\leq\) threshold.

Data

list with input data.

Data$Method

character string describing the used algorithm, e.g. 'Discrete Lehmann-Romano procedure (step-up)'.

Data$Raw.pvalues

all observed raw \(p\)-values.

Data$Weights

the weights for the raw \(p\)-values.

Data$FDP.threshold

FDP threshold alpha.

Data$Exceedance.probability

probability zeta of FDP exceeding alpha; thus, FDP is being controlled at level alpha with confidence 1 - zeta.

Data$Weighting

character string describing the weighting method.

Data$Data.name

the respective variable name(s) of the input data.

Arguments

test.results

either a numeric vector with p-values or an R6 object of class DiscreteTestResults from package DiscreteTests for which a discrete FDR procedure is to be performed.

weights

numeric vector that contains the weights for the p-values.

alpha

single real number strictly between 0 and 1 specifying the target FDP.

zeta

single real number strictly between 0 and 1 specifying the target probability of not exceeding the desired FDP. If zeta = NULL (the default), then zeta is chosen equal to alpha.

weighting.method

single character string specifying whether to conduct arithmetic (direction = "AM", the default) or geometric weighting (direction = "GM") of p-values.

critical.values

single boolean indicating whether critical constants are to be computed.

exact

single boolean indicating whether to compute the Poisson-Binomial distribution exactly or by normal approximation.

select.threshold

single real number strictly between 0 and 1 indicating the largest raw p-value to be considered, i.e. only p-values below this threshold are considered and the procedures are adjusted in order to take this selection effect into account; if threshold = 1 (the default), all raw p-values are selected.

Details

wPB.AM and wPB.GM are wrapper functions for weighted.PB. The first one simply passes all its arguments to weighted.PB with weighting.method = "AM" and wPB.GM does the same with weighting.method = "GM".

References

Döhler, S. & Roquain, E. (2020). Controlling False Discovery Exceedance for Heterogeneous Tests. Electronic Journal of Statistics, 14(2), pp. 4244-4272. tools:::Rd_expr_doi("10.1214/20-EJS1771")

See Also

kernel, FDX, continuous.LR(), continuous.GR(), discrete.LR(), discrete.GR(), discrete.PB(), weighted.LR(), weighted.GR()

Examples

Run this code
# Construction of the p-values and their supports for weighted methods
raw.pvalues.weighted <- c(0.7389727, 0.1882310, 0.1302457, 0.9513677,
                          0.7592122, 0.0100559, 0.0000027, 0.1651034)
weights <- c(0.7947122, 1.2633867, 2.8097858, 2.2112801,
             2.3878654, 1.2389620, 2.3878654, 0.7947122)

# arithmetic-weighted Poisson-binomial procedure without critical values
wPB.AM.fast <- wPB.AM(raw.pvalues.weighted, weights)
summary(wPB.AM.fast)

# arithmetic-weighted Poisson-binomial procedure with critical values
wPB.AM.crit <- wPB.AM(raw.pvalues.weighted, weights, critical.values = TRUE)
summary(wPB.AM.crit)

# geometric-weighted Poisson-binomial procedure without critical values
wPB.GM.fast <- wPB.GM(raw.pvalues.weighted, weights)
summary(wPB.GM.fast)

# geometric-weighted Poisson-binomial procedure with critical values
wPB.GM.crit <- wPB.GM(raw.pvalues.weighted, weights, critical.values = TRUE)
summary(wPB.GM.crit)

Run the code above in your browser using DataLab