predict.intsel_cv: Predict Method for 'intsel_cv'

View source: R/predict.intsel_cv.R

predict.intsel_cvR Documentation

Predict Method for intsel_cv

Description

description Obtains predictions from a fitted intsel_cv object

Usage

## S3 method for class 'intsel_cv'
predict(object, newx, type = "link", ...)

Arguments

object

A fitted intsel object

newx

Optional, a matrix in which to look for variables with which to predict. If ommitted, the original data is used.

type

The type of prediction required. The default "link" is on the scale of the linear predictors; the alternative "response" is on the scale of the response variable.

...

Additional arguments passed to predict.

Value

A matrix containing the prediction.

Examples

n <- 1000
p.int <- 5
p.noint <- 3
intercept <- TRUE
p.screen <- 5

p.int.expand <- p.int*(p.int-1)/2
p.main <- p.int + p.noint
x <- matrix(rnorm(n * p.main), nrow = n, ncol = p.main)

# true model
# logit(p) = 0.1 + 0.3 x1 + 0.3 x2 + 0.3 x8 + 0.2 * x1 * x2

beta.true <- rep(0, p.main)
beta.true[c(1, 2, p.main)] <- 0.3
eta <- x %*% beta.true + 0.2 * x[, 1] * x[, 2]

if (intercept) eta <- eta + 0.1

py <- 1/(1 + exp(-eta))

y <- rbinom(n, 1, py)

nlam <- 30
lambdas <- exp(seq(log(0.1), log(0.00005), length.out = nlam))

# All the pairwise two-way interactions for the first p.screen variables 
# are included in the model and screened in a data-driven manner.
cv <- intsel_cv(x = x,
                y = y,
                p.screen =5,
                intercept = intercept,
                stepsize_init = 1,
                lambda = lambdas,
                nfolds = 5,
                foldid = NULL)
newx <- x[sample(1:nrow(x), size = 100), ]
pred.cv.newx <- predict(cv, newx = newx, type = "link")
dim(pred.cv.newx)

intsel documentation built on April 12, 2025, 1:33 a.m.