SCAD: Penalty function

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/SCAD.R

Description

Smoothly Clipped Absolute Deviation function.

Usage

1
SCAD(x, lambda)

Arguments

x

a vector where the function is to be evaluated.

lambda

a number representing a tuning parameter.

Details

SCAD is an even continuous function equal to 0 at x=0, and defined piecewise with derivative lambda in [0, lambda], (a*lambda - x)/(a-1) in [lambda, a*lambda], and 0 for x larger than a*lambda. As suggested by (Li, Sudjianto, 2005), we set a=3.7.

Value

A vector containing the SCAD values at x.

Note

In MLE problems, the penalty value lambda should tend to 0 when the sample size tends to infinity to insure that the asymptotic properties of Penalized-MLE and MLE are the same (see Li, Sudjianto, 2005).

Author(s)

O. Roustant, D. Ginsbourger, Ecole des Mines de St-Etienne.

References

R. Li and A. Sudjianto (2005), Analysis of Computer Experiments Using Penalized Likelihood in Gaussian Kriging Models, Technometrics, 47 no. 2, 111-120.

See Also

SCAD.derivative and km for a famous example

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
x <- seq(-8,8, length=200)
a <- 3.7

lambda <- 1.5
y <- SCAD(x, lambda)
plot(x, y, type="l", ylim=c(0,6))
x.knots <- c(-a*lambda, -lambda, 0, lambda, a*lambda)
points(x.knots, SCAD(x.knots, lambda), pch=19, cex=0.5)
text(6, SCAD(6, lambda)+0.3, paste("lambda =", lambda))

for (i in 1:2) {
   lambda <- lambda - 0.5
   y <- SCAD(x, lambda)
   lines(x, y, type="l")
   x.knots <- c(-a*lambda, -lambda, 0, lambda, a*lambda)
   points(x.knots, SCAD(x.knots, lambda), pch=19, cex=0.5)
   text(6, SCAD(6, lambda)+0.3, paste("lambda =", lambda))
}

abline(v=0, h=0, lty="dotted")
title("SCAD function")

DiceKriging documentation built on Feb. 24, 2021, 1:07 a.m.