penalty_derivative function

Penalty Derivative

Penalty Derivative

Compute the derivative for a nonconvex penalty.

penalty_derivative( theta = seq(-5, 5, length.out = 1e+05), penalty = "atan", lambda = 1, gamma = c(0.01, 0.05) )

Arguments

  • theta: Numeric vector. Values for which the derivative is computed.
  • penalty: Character string. Which penalty should be used (defaults to "atan")? See ggmncv for the available penalties.
  • lambda: Numeric. Regularization parameter (defaults to 1).
  • gamma: Numeric vector. Hyperparameter(s) for the penalty function

Returns

A list of class penalty_derivative, including the following:

  • deriv: Data frame including the derivative, theta, gamma, and the chosen penalty.
  • lambda: Regularization parameter.

Note

Some care is required for specifying gamma. For example, the default value for scad is 3.7 and it must be some value greater than 2 if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="fan2001variable",package="GGMncv",cached_env=.Rdpack.currefs) . The default values in GGMncv are set to recommended values in the respective papers.

Examples

deriv <- penalty_derivative(theta = seq(-5,5,length.out = 10000), lambda = 1, gamma = c(0.01, 0.05, 0.1)) head(deriv$deriv)

References

if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_all_ref(.Rdpack.currefs)

  • Maintainer: Donald Williams
  • License: GPL-2
  • Last published: 2021-12-15

Useful links