Lorenz.FABS {LorenzRegression}R Documentation

Solves the Penalized Lorenz Regression with Lasso penalty

Description

Lorenz.FABS solves the penalized Lorenz regression with (adaptive) Lasso penalty on a grid of lambda values. For each value of lambda, the function returns estimates for the vector of parameters and for the estimated explained Gini coefficient, as well as the Lorenz-R^2 of the regression.

Usage

Lorenz.FABS(
  YX_mat,
  weights = NULL,
  h,
  w.adaptive = NULL,
  eps,
  iter = 10^4,
  lambda = "Shi",
  lambda.min = 1e-07,
  gamma = 0.05
)

Arguments

YX_mat

a matrix with the first column corresponding to the response vector, the remaining ones being the explanatory variables.

weights

vector of sample weights. By default, each observation is given the same weight.

h

bandwidth of the kernel, determining the smoothness of the approximation of the indicator function.

w.adaptive

vector of size equal to the number of covariates where each entry indicates the weight in the adaptive Lasso. By default, each covariate is given the same weight (Lasso).

eps

step size in the FABS algorithm.

iter

maximum number of iterations. Default value is 10^4.

lambda

this parameter relates to the regularization parameter. Several options are available.

grid

If lambda="grid", lambda is defined on a grid, equidistant in the logarithmic scale.

Shi

If lambda="Shi", lambda, is defined within the algorithm, as in Shi et al (2018).

supplied

If the user wants to supply the lambda vector himself

lambda.min

lower bound of the penalty parameter. Only used if lambda="Shi".

gamma

value of the Lagrange multiplier in the loss function

Details

The regression is solved using the FABS algorithm developed by Shi et al (2018) and adapted to our case. For a comprehensive explanation of the Penalized Lorenz Regression, see Jacquemain et al. In order to ensure identifiability, theta is forced to have a L2-norm equal to one.

Value

A list with several components:

iter

number of iterations attained by the algorithm.

direction

vector providing the direction (-1 = backward step, 1 = forward step) for each iteration.

lambda

value of the regularization parameter for each iteration.

h

value of the bandwidth.

theta

matrix where column i provides the estimated parameter vector for iteration i.

LR2

the Lorenz-R^2 of the regression.

Gi.expl

the estimated explained Gini coefficient.

References

Jacquemain, A., C. Heuchenne, and E. Pircalabelu (2022). A penalised bootstrap estimation procedure for the explained Gini coefficient. Shi, X., Y. Huang, J. Huang, and S. Ma (2018). A Forward and Backward Stagewise Algorithm for Nonconvex Loss Function with Adaptive Lasso, Computational Statistics & Data Analysis 124, 235-251.

See Also

Lorenz.Reg, PLR.wrap, Lorenz.SCADFABS

Examples

data(Data.Incomes)
YX_mat <- Data.Incomes[,-2]
Lorenz.FABS(YX_mat, h = nrow(Data.Incomes)^(-1/5.5), eps = 0.005)


[Package LorenzRegression version 1.0.0 Index]