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)


[Package argminCS version 1.1.0 Index]