tick.prox.ProxSlope

class tick.prox.ProxSlope(strength: float, fdr: float = 0.6, range: tuple = None, positive: bool = False)[source]

Proximal operator of Slope penalization. This penalization is particularly relevant for feature selection, in generalized linear models, when features correlation is not too high.

Parameters:

strength : float

Level of penalization

fdr : float, default=0.6

Desired False Discovery Rate for detection of non-zeros in the coefficients. Must be between 0 and 1.

range : tuple of two int, default=`None`

Range on which the prox is applied. If None then the prox is applied on the whole vector

Attributes:

weights : np.array, shape=(n_coeffs,)

The weights used in the penalization. They are automatically setted, depending on the weights_type and fdr parameters.

dtype : {'float64', 'float32'}

Type of the arrays used.

Notes

Uses the stack-based algorithm for FastProxL1 from

  • SLOPE–Adaptive Variable Selection via Convex Optimization, by Bogdan, M. and Berg, E. van den and Sabatti, C. and Su, W. and Candes, E. J. arXiv preprint arXiv:1407.3824, 2014

Examples using tick.prox.ProxSlope