Smoothly clipped absolute deviation (SCAD) penalty.

The SCAD penalty is a concave function and is defined as

$\begin{split}\mathrm{SCAD}_{\sigma, a}(\mathbf{x}) = \begin{cases} \sigma x_i, & |x_i| \leq \sigma \\ \frac{-x_i^2 + 2 a \sigma - \sigma^2}{2 (a - 1)}, & \sigma < |x_i| \leq a\sigma \\ \frac{(a + 1)\sigma^2}{2}, & |x_i| > a\sigma \end{cases}\end{split}$
Parameters
sigmafloat

First threshold parameter (named $$\lambda$$ in the original paper )

afloat, optional

Second threshold parameter (must be larger than 2). Default is 3.7, see  for more information.

Notes

The SCAD penalty is continuous and differentiable and does not suffer from biasedness as the $$\ell_1$$-norm, nor is discontinuous as the hard thresholding penalty. Thus, it fuses the most favourable properties of both penalties.

The proximal operator is given by

$\begin{split}\prox_{\tau \mathrm{SCAD}_{\sigma, a}(\cdot)}(\mathbf{x}) = \begin{cases} \sgn(x_i)\max(0, |x_i| - \sigma), & |x_i| \leq \frac{\sigma(a - 1 - \tau + a\tau)}{a - 1} \\ \frac{(a-1)x_i - \sgn(x_i)a\tau\sigma}{a-1-\tau}, & \frac{\sigma(a - 1 - \tau + a\tau)}{a - 1} < |x_i| \leq a\sigma \\ x_i, & |x_i| > a\sigma \end{cases}\end{split}$
1(1,2)

Fan, J. and Li, R. “Variable selection via nonconcave penalized likelihood and its oracle properties” Journal of the American Statistical Association, 96(456):1348–1360, 2001

Methods

 __init__(sigma[, a]) affine_addition(v) Affine addition chain(g) Chain elementwise(x) grad(x) Compute gradient postcomposition(sigma) Postcomposition precomposition(a, b) Precomposition prox(**kwargs) proxdual(**kwargs)

## Examples using pyproximal.SCAD# Concave penalties

Concave penalties