ADSIHT: Adaptive Double Sparse Iterative Hard Thresholding Algorithm...

View source: R/ADSIHT.R

ADSIHTR Documentation

Adaptive Double Sparse Iterative Hard Thresholding Algorithm (ADSIHT)

Description

An implementation of the sparse group selection in linear regression model via ADSIHT.

Usage

ADSIHT(
  x,
  y,
  group,
  s0,
  kappa = 0.9,
  ic.type = c("dsic", "loss"),
  ic.scale = 3,
  ic.coef = 3,
  L = 5,
  weight = rep(1, nrow(x)),
  coef1 = 1,
  coef2 = 1,
  eta = 0.8,
  max_iter = 20,
  method = "ols"
)

Arguments

x

Input matrix, of dimension n \times p; each row is an observation vector and each column is a predictor.

y

The response variable of n observations.

group

A vector indicating which group each variable belongs to For variables in the same group, they should be located in adjacent columns of x and their corresponding index in group should be the same. Denote the first group as 1, the second 2, etc.

s0

A vector that controls the degrees with group. Default is d^((l-1)/(L-1)) : 1 \leq l \leq L, where d is the maximum group size.

kappa

A parameter that controls the rapid of the decrease of threshold. Default is 0.9.

ic.type

The type of criterion for choosing the support size. Available options are "dsic", "loss". Default is "dsic".

ic.scale

A non-negative value used for multiplying the penalty term in information criterion. Default: ic.scale = 3.

ic.coef

A non-negative value used for multiplying the penalty term for choosing the optimal stopping time. Default: ic.coef = 3.

L

The length of the sequence of s0. Default: L = 5.

weight

The weight of the samples, with the default value set to 1 for each sample.

coef1

A positive value to control the sub-optimal stopping time.

coef2

A positive value to control the overall stopping time. A small value leads to larger search range.

eta

A parameter controls the step size in the gradient descent step. Default: eta = 0.8.

max_iter

A parameter that controls the maximum number of line search, ignored if OLS is employed.

method

Whether ols (default) or linesearch method should be employed.

Value

A list object comprising:

beta

A p-by-length(s0) matrix of coefficients, stored in column format.

intercept

A length(s0) vector of intercepts

.

lambda

A length(s0) vector of threshold values

A_out

The selected variables given threshold value in lambda.

ic

The values of the specified criterion for each fitted model given threshold lamdba.

Author(s)

Yanhang Zhang, Zhifan Li, Shixiang Liu, Jianxin Yin.

Examples


n <- 200
m <- 100
d <- 10
s <- 5
s0 <- 5
data <- gen.data(n, m, d, s, s0)
fit <- ADSIHT(data$x, data$y, data$group)
fit$A_out[which.min(fit$ic)]

ADSIHT documentation built on April 3, 2025, 9 p.m.