predict.nnGarrote: Predictions for nnGarrote Object

Description Usage Arguments Value Author(s) See Also Examples

View source: R/predict.nnGarrote.R

Description

predict.nnGarrote returns the prediction for nnGarrote for new data.

Usage

1
2
## S3 method for class 'nnGarrote'
predict(object, newx, ...)

Arguments

object

An object of class nnGarrote

newx

A matrix with the new data.

...

Additional arguments for compatibility.

Value

A matrix with the predictions of the nnGarrote object.

Author(s)

Anthony-Alexander Christidis, anthony.christidis@stat.ubc.ca

See Also

nnGarrote

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Setting the parameters
p <- 500
n <- 100
n.test <- 5000
sparsity <- 0.15
rho <- 0.5
SNR <- 3
set.seed(0)
# Generating the coefficient
p.active <- floor(p*sparsity)
a <- 4*log(n)/sqrt(n)
neg.prob <- 0.2
nonzero.betas <- (-1)^(rbinom(p.active, 1, neg.prob))*(a + abs(rnorm(p.active)))
true.beta <- c(nonzero.betas, rep(0, p-p.active))
# Two groups correlation structure
Sigma.rho <- matrix(0, p, p)
Sigma.rho[1:p.active, 1:p.active] <- rho
diag(Sigma.rho) <- 1
sigma.epsilon <- as.numeric(sqrt((t(true.beta) %*% Sigma.rho %*% true.beta)/SNR))

# Simulate some data
library(mvnfast)
x.train <- mvnfast::rmvn(n, mu=rep(0,p), sigma=Sigma.rho)
y.train <- 1 + x.train %*% true.beta + rnorm(n=n, mean=0, sd=sigma.epsilon)
x.test <- mvnfast::rmvn(n.test, mu=rep(0,p), sigma=Sigma.rho)
y.test <- 1 + x.test %*% true.beta + rnorm(n.test, sd=sigma.epsilon)

# Applying the NNG with Ridge as an initial estimator
nng.out <- nnGarrote(x.train, y.train, intercept=TRUE,
                     initial.model=c("LS", "glmnet")[2],
                     lambda.nng=NULL, lambda.initial=NULL, alpha=0)
nng.predictions <- predict(nng.out, newx=x.test)
nng.coef <- coef(nng.out)

nnGarrote documentation built on Oct. 7, 2021, 9:06 a.m.