A new method implement correlation correction based on weighted Hochberg. An ACF is applied for weight reduction to conserve alpha. Details see Huang et al. (2024+). A correlation structure with too many zero leads the method reduce to weighted Hochberg.
corr.WHC(p, w, corr.mat, a = 0.5, b = 0.6, penalty = NULL, alpha = 0.05)A table contains p-values, weights, adjusted critical values, significance
A numeric vector. A length \(m\) P-value vector from multiple tests.
A numeric vector. Any non-negative real numbers to denote the
importance of the endpoints. Length must be equal to \(m\). A single value,
e.g. w = 1, represents equal weight. WHC can scale the weight vector as if
the sum of weight is not 1.
A matrix. The dimension must be \(m \times m\). Positive correlation is the theoretical assumption, however, it is robust to run with some negative elements in the correlation matrix.
A numeric number. \(a \in (0,1)\) determines the greatest penalty on weight,
Default a=0.5. Details see Huang et al (2024+).
A numeric number. \(b \in (0,1)\) is the shape parameter of the penalty function. \(b = 1\) produce a linear function.
A function. User can define their own penalty function. The basic rule is the function must be monotone decreasing from 0 to 1, and range from 1 to \(a\) where \(a \in (0,1)\). A convex function is recommended. Concave function can produce result, but have no meaning on alpha conserving.
A real number. \(1-\alpha\) is the confidence level, alpha must between (0, 1).
Huang, X. -W., Hua, J., Banerjee, B., Wang, X., Li, Q. (2024+). Correlated weighted Hochberg procedure. In-preparation.
m <- 5
corr.WHC(
p = runif(m),
w = runif(m),
corr.mat = cor(matrix(runif(10*m), ncol = m))
)
Run the code above in your browser using DataLab