predict.sven {bravo} | R Documentation |
Make predictions from a fitted "sven" object.
Description
This function makes point predictions and computes prediction intervals from a fitted "sven" object.
Usage
## S3 method for class 'sven'
predict(
object,
newdata,
model = c("WAM", "MAP"),
interval = c("none", "MC", "Z"),
return.draws = FALSE,
Nsim = 10000,
level = 0.95,
alpha = 1 - level,
...
)
Arguments
object |
A fitted "sven" object |
newdata |
Matrix of new values for |
model |
The model to be used to make predictions. Model "MAP" gives the predictions calculated using the MAP model; model "WAM" gives the predictions calculated using the WAM. Default: "WAM". |
interval |
Type of interval calculation. If |
return.draws |
only required if |
Nsim |
only required if |
level |
Confidence level of the interval. Default: 0.95. |
alpha |
Type one error rate. Default: 1- |
... |
Further arguments passed to or from other methods. |
Value
The object returned depends on "interval" argument. If interval
= "none"
, the object is an
vector of the point predictions; otherwise, the object is an
matrix with the point predictions in the first column and the lower and upper bounds
of prediction intervals in the second and third columns, respectively.
if return.draws is TRUE
, a list with the following components is returned:
prediction |
vector or matrix as above |
mc.draws |
an |
Author(s)
Dongjin Li and Somak Dutta
Maintainer:
Dongjin Li <dongjl@iastate.edu>
References
Li, D., Dutta, S., Roy, V.(2020) Model Based Screening Embedded Bayesian Variable Selection for Ultra-high Dimensional Settings http://arxiv.org/abs/2006.07561
Examples
n = 80; p = 100; nonzero = 5
trueidx <- 1:5
nonzero.value <- c(0.50, 0.75, 1.00, 1.25, 1.50)
TrueBeta = numeric(p)
TrueBeta[trueidx] <- nonzero.value
X <- matrix(rnorm(n*p), n, p)
y <- 0.5 + X %*% TrueBeta + rnorm(n)
res <- sven(X=X, y=y)
newx <- matrix(rnorm(20*p), 20, p)
# predicted values at a new data matrix using MAP model
yhat <- predict(object = res, newdata = newx, model = "MAP", interval = "none")
# 95% Monte Carlo prediction interval using WAM
MC.interval <- predict(object = res, model = "WAM", newdata = newx, interval = "MC", level=0.95)
# 95% Z-prediction interval using MAP model
Z.interval <- predict(object = res, model = "MAP", newdata = newx, interval = "Z", level = 0.95)