# predict.xval.oem: Prediction function for fitted cross validation oem objects In oem: Orthogonalizing EM: Penalized Regression for Big Tall Data

 predict.xval.oem R Documentation

## Prediction function for fitted cross validation oem objects

### Description

Prediction function for fitted cross validation oem objects

### Usage

```## S3 method for class 'xval.oem'
predict(
object,
newx,
which.model = "best.model",
s = c("lambda.min", "lambda.1se"),
...
)
```

### Arguments

 `object` fitted "cv.oem" model object `newx` Matrix of new values for x at which predictions are to be made. Must be a matrix; can be sparse as in the `CsparseMatrix` objects of the Matrix package This argument is not used for type=c("coefficients","nonzero") `which.model` If multiple penalties are fit and returned in the same `oem` object, the `which.model` argument is used to specify which model to make predictions for. For example, if the oem object "oemobj" was fit with argument `penalty = c("lasso", "grp.lasso")`, then `which.model = 2` provides predictions for the group lasso model. For `predict.cv.oem()`, can specify `"best.model"` to use the best model as estimated by cross-validation `s` Value(s) of the penalty parameter `lambda` at which predictions are required. Default is the entire sequence used to create the model. For predict.cv.oem, can also specify `"lambda.1se"` or `"lambda.min"` for best lambdas estimated by cross validation `...` used to pass the other arguments for `predict.oem()`

### Value

An object depending on the type argument

### Examples

```set.seed(123)
n.obs <- 1e4
n.vars <- 100
n.obs.test <- 1e3

true.beta <- c(runif(15, -0.5, 0.5), rep(0, n.vars - 15))

x <- matrix(rnorm(n.obs * n.vars), n.obs, n.vars)
y <- rnorm(n.obs, sd = 3) + x %*% true.beta
x.test <- matrix(rnorm(n.obs.test * n.vars), n.obs.test, n.vars)
y.test <- rnorm(n.obs.test, sd = 3) + x.test %*% true.beta

fit <- xval.oem(x = x, y = y,
penalty = c("lasso", "grp.lasso"),
groups = rep(1:10, each = 10),
nlambda = 10)

preds.best <- predict(fit, newx = x.test, type = "response", which.model = "best.model")

apply(preds.best, 2, function(x) mean((y.test - x) ^ 2))

preds.gl <- predict(fit, newx = x.test, type = "response", which.model = "grp.lasso")

apply(preds.gl, 2, function(x) mean((y.test - x) ^ 2))

preds.l <- predict(fit, newx = x.test, type = "response", which.model = 1)

apply(preds.l, 2, function(x) mean((y.test - x) ^ 2))
```

oem documentation built on Oct. 13, 2022, 9:06 a.m.