CS.argmax {argminCS} | R Documentation |
Construct a discrete confidence set for argmax.
Description
This is a wrapper to construct a confidence set for the argmax by negating the input and reusing CS.argmin
.
Usage
CS.argmax(data, method = "softmin.LOO", alpha = 0.05, ...)
Arguments
data |
An |
method |
A string indicating the method to use; defaults to 'softmin.LOO'. Can be abbreviated (e.g., 'SML' for 'softmin.LOO'). See Details for full list. |
alpha |
Significance level. The function returns a |
... |
Additional arguments passed to corresponding testing functions. |
Details
The supported methods include:
softmin.LOO (SML) | Leave-one-out algorithm using exponential weighting. |
argmin.LOO (HML) | Variant of SML that uses hard argmin instead of soft weighting. Not recommended. |
nonsplit (NS) | Variant of SML without data splitting. Requires a fixed lambda value. Not recommended. |
Bonferroni (MT) | Multiple testing using Bonferroni correction. |
Gupta (GTA) | The method of Gupta SS (1965). “On Some Multiple Decision (Selection and Ranking) Rules.” Technometrics, 7(2), 225–245. doi:10.1080/00401706.1965.10490251.. |
Futschik (FCHK) | A two-step method from Futschik A, Pflug G (1995). “Confidence Sets for Discrete Stochastic Optimization.” Annals of Operations Research, 56(1), 95–108. doi:10.1007/BF02031702.. |
Value
A vector of indices (1-based) representing the confidence set for the argmax.
References
Zhang T, Lee H, Lei J (2024). “Winners with confidence: Discrete argmin inference with an application to model selection.” arXiv preprint arXiv:2408.02060.
Gupta SS (1965). “On Some Multiple Decision (Selection and Ranking) Rules.” Technometrics, 7(2), 225–245. doi:10.1080/00401706.1965.10490251.
Futschik A, Pflug G (1995). “Confidence Sets for Discrete Stochastic Optimization.” Annals of Operations Research, 56(1), 95–108. doi:10.1007/BF02031702.
Chernozhukov V, Chetverikov D, Kato K (2013). “Testing many moment inequalities.” RePEc. IDEAS Working Paper Series.
Examples
set.seed(108)
n <- 200
p <- 20
mu <- (1:p)/p
cov <- diag(p)
data <- MASS::mvrnorm(n, mu, cov)
## softmin.LOO (SML)
CS.argmax(data)
## argmin.LOO (HML)
CS.argmax(data, method = "HML")
## nonsplit (NS) - requires lambda
CS.argmax(data, method = "NS", lambda = sqrt(n)/2.5)
## Bonferroni (MT) - t test default
CS.argmax(data, method = "MT", test = "t")
## Gupta (GTA)
CS.argmax(data, method = "GTA")
## Futschik (FCHK) with default alpha.1 and alpha.2
CS.argmax(data, method = "FCHK")
## Futschik (FCHK) with user-specified alpha.1 and alpha.2
alpha.1 <- 0.001
alpha.2 <- 1 - (0.95 / (1 - alpha.1))
CS.argmax(data, method = "FCHK", alpha.1 = alpha.1, alpha.2 = alpha.2)