solve_DAP_seq {DAP} R Documentation

## Solves DAP optimization problem for a given sequence of lambda values

### Description

Uses block-coordinate descent algorithm with warm initializations, starts with the maximal supplied lambda value.

### Usage

solve_DAP_seq(X1, X2, lambda_seq, eps = 1e-04, maxiter = 10000,
feature_max = nrow(X1) + nrow(X2))


### Arguments

 X1 A n1 x p matrix of group 1 data (scaled). X2 A n2 x p matrix of group 2 data (scaled). lambda_seq A supplied sequence of tunning parameters. eps Convergence threshold for the block-coordinate decent algorithm based on the maximum element-wise change in V. The default is 1e-4. maxiter Maximum number of iterations, the default is 10000. feature_max An upper bound on the number of nonzero features in the solution; the default value is the total sample size. The algorithm trims the supplied lambda_seq to eliminate solutions that exceed feature_max.

### Value

A list of

 lambda_seq A sequence of considered lambda values. V1_mat A p x m matrix with columns corresponding to the 1st projection vector V1 found at each lambda from lambda_seq. V2_mat A p x m matrix with columns corresponding to the 2nd projection vector V2 found at each lambda from lambda_seq. nfeature_vec A sequence of corresponding number of selected features for each value in lambda_seq.

### Examples

## This is an example for solve_DAP_seq

## Generate data
n_train = 50
n_test = 50
p = 100
mu1 = rep(0, p)
mu2 = rep(3, p)
Sigma1 = diag(p)
Sigma2 = 0.5* diag(p)

## Build training data
x1 = MASS::mvrnorm(n = n_train, mu = mu1, Sigma = Sigma1)
x2 = MASS::mvrnorm(n = n_train, mu = mu2, Sigma = Sigma2)
xtrain = rbind(x1, x2)
ytrain = c(rep(1, n_train), rep(2, n_train))

## Standardize the data
out_s = standardizeData(xtrain, ytrain, center = FALSE)

####use solve_proj_seq
fit = solve_DAP_seq(X1 = out_s$X1, X2 = out_s$X2, lambda_seq = c(0.2, 0.3, 0.5, 0.7, 0.9))


[Package DAP version 1.0 Index]