| predict.cv.rbridge | R Documentation |
Compute response predictions, extract coefficients, or identify nonzero predictors from a fitted cv.rbridge object.
## S3 method for class 'cv.rbridge'
predict(
object,
newx,
s = c("lambda.min", "lambda.1se"),
type = c("response", "nonzero", "coefficients"),
...
)
object |
Fitted object returned by |
newx |
Numeric matrix with one row per new observation and the
same |
s |
Penalty selection, using numeric fitted values or a character name.
Numeric values must match
The default is |
type |
Output to return: |
... |
Additional arguments accepted for compatibility. |
Prediction uses the fitted intercept and original-scale slopes.
Columns of newx are matched by position, not reordered by their names.
For type = "nonzero", all fitted penalties are inspected and
s does not restrict the returned indices.
The defaults differ between coef() and predict():
coefficient extraction uses lambda.1se, whereas response prediction
uses lambda.min. Specify the same s in both calls when comparing
coefficients and their predictions.
Returned slopes are on the original predictor scale; the linear
restrictions concern standardized slopes. See rbridge for
converting scales before checking restriction residuals.
For type = "response", a numeric vector for one
selected penalty or a matrix with one row per new observation and one
column per selected penalty. For type = "coefficients", a numeric
matrix with p + 1 rows, including the intercept, even for one penalty.
For type = "nonzero", a pathwise collection of 1-based predictor
indices excluding the intercept. Its historical container can simplify
depending on the support pattern and number of predictors.
Bahadir Yuzbasi
Maintainer: Bahadir Yuzbasi b.yzb@hotmail.com
coef.cv.rbridge, cv.rbridge
# Reproducible synthetic demonstration: 100 observations, eight predictors.
set.seed(2019)
beta <- c(3, 1.5, 0, 0, 2, 0, 0, 0)
p <- length(beta)
beta <- matrix(beta, nrow = p, ncol = 1)
n <- 100
X <- matrix(rnorm(n * p), nrow = n, ncol = p)
y <- as.numeric(X %*% beta + rnorm(n))
# A user-specified sum of standardized slopes: b[1] + b[2] + b[5] = 6.5.
# This target is illustrative; it is not asserted to equal the generating sum.
R1.mat <- matrix(c(1, 1, 0, 0, 1, 0, 0, 0), nrow = 1)
r1.vec <- matrix(6.5, nrow = 1, ncol = 1)
# Five penalties keep this help example fast; the default is 100.
model1 <- cv.rbridge(X, y, q = 1, R = R1.mat, r = r1.vec, nlambda = 5,
nfolds = 3, num_threads = 1)
# Predict five observations at one explicitly selected penalty.
predict(model1, newx = X[1:5, , drop = FALSE], s = "lambda.min")
# Extract coefficients using the complete type name.
predict(model1, s = "lambda.min", type = "coefficients")
# Predictor indices for every fitted penalty; the intercept is excluded.
predict(model1, type = "nonzero")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.