Learn R Programming

AirScreen (version 0.1.0)

Air: Unified Interface for AirHOLP and AirOLS

Description

Air is a high-level wrapper that applies either the AirHOLP or AirOLS methods based on data dimensions. It returns an AirResult object ready for inspection with summary.

Usage

Air(
  X,
  y,
  m = NULL,
  screening_threshold = NULL,
  penalty = 10,
  penalty_type = c("adaptive", "fixed", "both"),
  method = c("auto", "AirHOLP", "AirOLS")
)

Value

An object of class "AirResult", a named list that may contain the following elements (depending on penalty_type):

order, order_adaptive, order_fixed

Integer vector of feature indices sorted by absolute Air-HOLP or Air-OLS score, from largest to smallest.

rank, rank_adaptive, rank_fixed

Integer vector of feature ranks matching order.

Beta, Beta_adaptive, Beta_fixed

Numeric vector of Air-HOLP or Air-OLS coefficient estimates.

penalty, penalty_adaptive, penalty_fixed

Final ridge penalty value(s) used.

The helper summary.AirResult prints a concise summary.

Arguments

X

Numeric predictor matrix (\(n \times p\)).

y

Numeric response vector of length \(n\).

m

Integer specifying the number of coefficients retained at each adaptive-penalty iteration (default \(n/\log(n)\) capped at \(p-1\)).

screening_threshold

Integer specifying the number of screened features to display in summary.

penalty

Numeric scalar or vector with ridge penalty value(s) (default \(10\)).

penalty_type

One of "adaptive", "fixed", or "both" (default "adaptive").

method

"auto", "AirHOLP", or "AirOLS" (default "auto").

Details

  • When method = "auto" (default), AirHOLP is used if \(p \ge n\); otherwise AirOLS is chosen.

  • penalty_type chooses whether the ridge penalty is selected adaptively, fixed at the supplied value(s), or both (returning two sets of ranks).

  • Air checks the validity of inputs and substitute by defaults when invalid.

References

Joudah, I., Muller, S., and Zhu, H. (2025). "Air-HOLP: Adaptive Regularized Feature Screening for High-Dimensional Data." Statistics and Computing. tools:::Rd_expr_doi("10.1007/s11222-025-10599-6")

Examples

Run this code
## simple example (p > n  ->  AirHOLP)
set.seed(314)
X <- matrix(rnorm(100000), nrow = 200, ncol = 500)
y <- X[, 1] + X[, 2] + X[, 3] + X[, 4] + 3*rnorm(200)
result <- Air(X, y, penalty_type = "both")
summary(result)

## multiple fixed penalty values
result2 <- Air(X, y, penalty_type = "fixed", penalty = c(1, 100))
summary(result2)

Run the code above in your browser using DataLab