coef.enetLTS {enetLTS}R Documentation

coefficients from the enetLTS object

Description

Extracts model coefficients from object returned by regression model.

Usage

  ## S3 method for class 'enetLTS'
coef(object,vers,zeros,...)

Arguments

object

fitted enetLTS model object.

vers

a character string specifying for which fit to make predictions. Possible values are reweighted (the default) for predicting values from the reweighted fit, raw for predicting values from the raw fit.

zeros

a logical indicating whether to give nonzero coefficients indices. (TRUE, the default) or to omit them (FALSE).

...

additional arguments from the enetLTS object if needed.

Value

a numeric vector (or a list object for family="multinomial") containing the requested coefficients.

Author(s)

Fatma Sevinc KURNAZ, Irene HOFFMANN, Peter FILZMOSER
Maintainer: Fatma Sevinc KURNAZ <fatmasevinckurnaz@gmail.com>;<fskurnaz@yildiz.edu.tr>

See Also

enetLTS, predict.enetLTS, nonzeroCoef.enetLTS

Examples

## for gaussian

set.seed(86)
n <- 100; p <- 25                             # number of observations and variables
beta <- rep(0,p); beta[1:6] <- 1              # 10% nonzero coefficients
sigma <- 0.5                                  # controls signal-to-noise ratio
x <- matrix(rnorm(n*p, sigma),nrow=n)
e <- rnorm(n,0,1)                             # error terms
eps <- 0.1                                    # contamination level
m <- ceiling(eps*n)                           # observations to be contaminated
eout <- e; eout[1:m] <- eout[1:m] + 10        # vertical outliers
yout <- c(x %*% beta + sigma * eout)        # response
xout <- x; xout[1:m,] <- xout[1:m,] + 10      # bad leverage points


fit1 <- enetLTS(xout,yout)
coef(fit1)
coef(fit1,vers="raw")
coef(fit1,vers="reweighted",zeros=FALSE)



## for binomial

eps <-0.05                                     # %10 contamination to only class 0
m <- ceiling(eps*n)
y <- sample(0:1,n,replace=TRUE)
xout <- x
xout[y==0,][1:m,] <- xout[1:m,] + 10;          # class 0
yout <- y                                      # wrong classification for vertical outliers


fit2 <- enetLTS(xout,yout,family="binomial")
coef(fit2)
coef(fit2,vers="reweighted")
coef(fit2,vers="raw",zeros=FALSE)



## for multinomial

n <- 120; p <- 15
NC <- 3                # number of groups
X <- matrix(rnorm(n * p), n, p)
betas <- matrix(1:NC, ncol=NC, nrow=p, byrow=TRUE)
betas[(p-5):p,]=0; betas <- rbind(rep(0,NC),betas)
lv <- cbind(1,X)%*%betas
probs <- exp(lv)/apply(exp(lv),1,sum)
y <- apply(probs,1,function(prob){sample(1:NC, 1, TRUE, prob)})
xout <- X
eps <-0.05                          # %10 contamination to only class 0
m <- ceiling(eps*n)
xout[1:m,] <- xout[1:m,] + 10       # bad leverage points
yout <- y


fit3    <- enetLTS(xout,yout,family="multinomial")
coef(fit3)
coef(fit3,vers="reweighted")
coef(fit3,vers="raw",zeros=FALSE)



[Package enetLTS version 1.1.0 Index]