argmin.HT {argminCS} | R Documentation |
A wrapper to perform argmin hypothesis test.
Description
This is a wrapper to perform hypothesis test to see if a given dimension may be an argmin. Multiple methods are supported.
Usage
argmin.HT(data, r = NULL, method = "softmin.LOO", ...)
Arguments
data |
(1) A n by p data matrix for (GTA); each of its row is a p-dimensional sample, or (2) A n by (p-1) difference matrix for (SML, HML, NS, MT); each of its row is a (p-1)-dimensional sample differences |
r |
The dimension of interest for hypothesis test; defaults to NULL. (Only needed for GTA) |
method |
A string indicating the method for hypothesis test; defaults to 'softmin.LOO'. Passing an abbreviation is allowed. For the list of supported methods and their abbreviations, see Details. |
... |
Additional arguments to argmin.HT.LOO, lambda.adaptive.enlarge, is.lambda.feasible.LOO, argmin.HT.MT, argmin.HT.gupta. A correct argument name needs to be specified if it is used. |
Details
The supported methods include:
softmin.LOO (SML) | LOO (leave-one-out) algorithm, using the exponential weightings. Proposed by Zhang T, Lee H, Lei J (2024). “Winners with confidence: Discrete argmin inference with an application to model selection.” arXiv preprint arXiv:2408.02060.. |
argmin.LOO (HML) | A variant of SML, but it uses (hard) argmin rather than exponential weighting. The method is not recommended because its type 1 error is not controlled. |
nonsplit (NS) | A variant of SML, but no splitting is involved. One needs to pass a fixed lambda value as a required additional argument. The method is not recommended because its type 1 error is not controlled. |
Bonferroni (MT) | Multiple testing with Bonferroni's correction. |
Gupta (GTA) | The method in Gupta SS (1965). “On Some Multiple Decision (Selection and Ranking) Rules.” Technometrics, 7(2), 225–245. doi:10.1080/00401706.1965.10490251.. |
Value
'Accept' or 'Reject'. A string indicating whether the given dimension could be an argmin (Accept) or not (Reject), and relevant statistics.
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.
Chernozhukov V, Chetverikov D, Kato K (2013). “Testing many moment inequalities.” RePEc. IDEAS Working Paper Series.
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.
Examples
r <- 4
n <- 200
p <- 20
mu <- (1:p)/p
cov <- diag(length(mu))
set.seed(108)
data <- MASS::mvrnorm(n, mu, cov)
sample.mean <- colMeans(data)
## softmin.LOO
difference.matrix.r <- matrix(rep(data[,r], p-1), ncol=p-1, byrow=FALSE) - data[,-r]
argmin.HT(difference.matrix.r)
## use seed
argmin.HT(difference.matrix.r, seed=19)
# provide centered test statistic (to simulate asymptotic normality)
true.mean.difference.r <- mu[r] - mu[-r]
argmin.HT(difference.matrix.r, true.mean=true.mean.difference.r)
# keep the data unstandardized
argmin.HT(difference.matrix.r, scale.input=FALSE)
# use an user-specified lambda
argmin.HT(difference.matrix.r, lambda=sqrt(n)/2.5)
# add a seed
argmin.HT(difference.matrix.r, seed=19)
## argmin.LOO/hard min
argmin.HT(difference.matrix.r, method='HML')
## nonsplit
argmin.HT(difference.matrix.r, method='NS', lambda=sqrt(n)/2.5)
## Bonferroni (choose t test because of normal data)
argmin.HT(difference.matrix.r, method='MT', test='t')
## z test
argmin.HT(difference.matrix.r, method='MT', test='z')
## Gupta
critical.val <- get.quantile.gupta.selection(p=length(mu))
argmin.HT(data, r, method='GTA', critical.val=critical.val)