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
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")
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(DiceKriging)
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/DiceKriging/SCAD.Rd_%03d_medium.png", width=480, height=480)
> ### Name: SCAD
> ### Title: Penalty function
> ### Aliases: SCAD
> ### Keywords: models htest
>
> ### ** Examples
>
> 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")
>
>
>
>
>
> dev.off()
null device
1
>