lasso: Adaptive LASSO estimation for stochastic differential...

lassoR Documentation

Adaptive LASSO estimation for stochastic differential equations

Description

Adaptive LASSO estimation for stochastic differential equations.

Usage

lasso(yuima, lambda0, start, delta=1, ...)

Arguments

yuima

a yuima object.

lambda0

a named list with penalty for each parameter.

start

initial values to be passed to the optimizer.

delta

controls the amount of shrinking in the adaptive sequences.

...

passed to optim method. See Examples.

Details

lasso behaves more likely the standard qmle function in and argument method is one of the methods available in optim.

From initial guess of QML estimates, performs adaptive LASSO estimation using the Least Squares Approximation (LSA) as in Wang and Leng (2007, JASA).

Value

ans

a list with both QMLE and LASSO estimates.

Author(s)

The YUIMA Project Team

Examples

## Not run: 
##multidimension case
diff.matrix <- matrix(c("theta1.1","theta1.2", "1", "1"), 2, 2)

drift.c <- c("-theta2.1*x1", "-theta2.2*x2", "-theta2.2", "-theta2.1")
drift.matrix <- matrix(drift.c, 2, 2)

ymodel <- setModel(drift=drift.matrix, diffusion=diff.matrix, time.variable="t",
                   state.variable=c("x1", "x2"), solve.variable=c("x1", "x2"))
n <- 100
ysamp <- setSampling(Terminal=(n)^(1/3), n=n)
yuima <- setYuima(model=ymodel, sampling=ysamp)
set.seed(123)

truep <- list(theta1.1=0.6, theta1.2=0,theta2.1=0.5, theta2.2=0)
yuima <- simulate(yuima, xinit=c(1, 1), 
 true.parameter=truep)


est <- lasso(yuima, start=list(theta2.1=0.8, theta2.2=0.2, theta1.1=0.7, theta1.2=0.1),
 lower=list(theta1.1=1e-10,theta1.2=1e-10,theta2.1=.1,theta2.2=1e-10),
 upper=list(theta1.1=4,theta1.2=4,theta2.1=4,theta2.2=4), method="L-BFGS-B")

# TRUE
unlist(truep)

# QMLE
round(est$mle,3)

# LASSO
round(est$lasso,3) 

## End(Not run)

yuima documentation built on Dec. 28, 2022, 2:01 a.m.