Learn R Programming

argminCS (version 1.1.0)

CS.argmin: Construct a discrete confidence set for argmin.

Description

This is a wrapper to construct a discrete confidence set for argmin. Multiple methods are supported.

Usage

CS.argmin(data, method = "softmin.LOO", alpha = 0.05, ...)

Value

A vector of indices (1-based) representing the (1 - alpha) confidence set.

Arguments

data

A n by p data matrix; each row is a p-dimensional sample.

method

A string indicating the method used to construct the confidence set. Defaults to 'softmin.LOO'. Can be abbreviated (e.g., 'SML' for 'softmin.LOO'). See **Details** for available methods and abbreviations.

alpha

The significance level; defaults to 0.05. The function produces a \(1 - \alpha\) confidence set.

...

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)Leave-one-out algorithm using exponential weighting. Proposed by zhang2024winnersargminCS.
argmin.LOO (HML)A variant of SML that uses hard argmin instead of exponential weighting. Not recommended.
nonsplit (NS)A variant of SML without data splitting. Requires a fixed lambda value as an additional argument. Not recommended
Bonferroni (MT)Multiple testing using Bonferroni correction.
Gupta (GTA)The method proposed by gupta.1965;textualargminCS. Requires independence and the same population standard deviation for all dimensions.
Futschik (FCHK)A two-step method from futschik.1995;textualargminCS. Requires independence and the same population standard deviation for all dimensions.

References

zhang2024winnersargminCS cck.many.momentsargminCS gupta.1965argminCS futschik.1995argminCS

Examples

Run this code
r <- 4
n <- 200
mu <- (1:20)/20
cov <- diag(length(mu))
set.seed(108)
data <- MASS::mvrnorm(n, mu, cov)
sample.mean <- colMeans(data)

## softmin.LOO
CS.argmin(data)

## use seed
CS.argmin(data, seed=13)

## argmin.LOO
CS.argmin(data, method='HML')

## nonsplit
CS.argmin(data, method='NS', lambda=sqrt(n)/2.5)

## Bonferroni (choose t test because of normal data)
CS.argmin(data, method='MT', test='t')

## Gupta
CS.argmin(data, method='GTA')

## Futschik two-step method
# default alpha.1, alpha.2
CS.argmin(data, method='FCHK')

alpha.1 <- 0.0005
alpha.2 <- 1 - (0.95/(1 - alpha.1))
CS.argmin(data, method='FCHK', alpha.1=0.0005, alpha.2=alpha.2)

Run the code above in your browser using DataLab