KERE {KERE} | R Documentation |
Fits the regularization paths for the kernel expectile regression.
Description
Fits a regularization path for the kernel expectile regression at a sequence of regularization parameters lambda.
Usage
KERE(x, y, kern, lambda = NULL, eps = 1e-08, maxit = 1e4,
omega = 0.5, gamma = 1e-06, option = c("fast", "normal"))
Arguments
x |
matrix of predictors, of dimension |
y |
response variable. |
kern |
the built-in kernel classes in KERE.
The
Objects can be created by calling the rbfdot, polydot, tanhdot, vanilladot, anovadot, besseldot, laplacedot, splinedot functions etc. (see example.) |
lambda |
a user supplied |
eps |
convergence threshold for majorization minimization algorithm. Each majorization descent loop continues until the relative change in any coefficient |
maxit |
maximum number of loop iterations allowed at fixed lambda value. Default is 1e4. If models do not converge, consider increasing |
omega |
the parameter |
gamma |
a scalar number. If it is specified, the number will be added to each diagonal element of the kernel matrix as perturbation. The default is |
option |
users can choose which method to use to update the inverse matrix in the MM algorithm. |
Details
Note that the objective function in KERE
is
Loss(y- \alpha_0 - K * \alpha )) + \lambda * \alpha^T * K * \alpha,
where the \alpha_0
is the intercept, \alpha
is the solution vector, and K
is the kernel matrix with K_{ij}=K(x_i,x_j)
. Users can specify the kernel function to use, options include Radial Basis kernel, Polynomial kernel, Linear kernel, Hyperbolic tangent kernel, Laplacian kernel, Bessel kernel, ANOVA RBF kernel, the Spline kernel. Users can also tweak the penalty by choosing different lambda
.
For computing speed reason, if models are not converging or running slow, consider increasing eps
before increasing maxit
.
Value
An object with S3 class KERE
.
call |
the call that produced this object. |
alpha |
a |
lambda |
the actual sequence of |
npass |
total number of loop iterations corresponding to each lambda value. |
jerr |
error flag, for warnings and errors, 0 if no error. |
Author(s)
Yi Yang, Teng Zhang and Hui Zou
Maintainer: Yi Yang <yiyang@umn.edu>
References
Y. Yang, T. Zhang, and H. Zou. "Flexible Expectile Regression in Reproducing Kernel Hilbert Space." ArXiv e-prints: stat.ME/1508.05987, August 2015.
Examples
# create data
N <- 200
X1 <- runif(N)
X2 <- 2*runif(N)
X3 <- 3*runif(N)
SNR <- 10 # signal-to-noise ratio
Y <- X1**1.5 + 2 * (X2**.5) + X1*X3
sigma <- sqrt(var(Y)/SNR)
Y <- Y + X2*rnorm(N,0,sigma)
X <- cbind(X1,X2,X3)
# set gaussian kernel
kern <- rbfdot(sigma=0.1)
# define lambda sequence
lambda <- exp(seq(log(0.5),log(0.01),len=10))
# run KERE
m1 <- KERE(x=X, y=Y, kern=kern, lambda = lambda, omega = 0.5)
# plot the solution paths
plot(m1)