Learn R Programming

Compack (version 0.1.0)

predict.cv.compCL: Make predictions based on a "cv.compCL" object.

Description

This function makes prediction based on a cross-validated compCL model, using the stored compCL.fit object.

Usage

# S3 method for cv.compCL
predict(object, Znew, Zcnew = NULL, s = c("lam.min", "lam.1se" ),
        trim = FALSE, ...)

Arguments

object

fitted "cv.compCL" model.

Znew

z matrix as in compCL with new compositional data or categorical data.

Zcnew

Zc matrix as in compCL with new data for other covariates. Default is NULL

s

specify the lam at which prediction(s) is requested.

  • s = "lam.min" (default), value of lam that obtains the minimun value of cross-validation error.

  • s = "lam.1se" value of lam that obtains 1 standard error above the miminum of the cross-validation errors.

  • if s is numeric, it is taken as the value(s) of lam to be used.

  • if s = NULL, uses the whole sequence of lam stored in the "cv.compCL" object.

trim

Whether to use the trimmed result. Default is FASLE.

...

not used.

Value

predicted values at the requested values of s.

Details

s is the vector at which predictions are requested. If s is not in the lambda sequence used for fitting the model, the predict function uses linear interpolation.

References

Lin, W., Shi, P., Peng, R. and Li, H. (2014) Variable selection in regression with compositional covariates, https://academic.oup.com/biomet/article/101/4/785/1775476. Biometrika 101 785-979.

See Also

cv.compCL and compCL, and coef and plot methods for "cv.compCL" object.

Examples

Run this code
# NOT RUN {
p = 30
n = 50
beta = c(1, -0.8, 0.6, 0, 0, -1.5, -0.5, 1.2)
beta = c( beta, rep(0, times = p - length(beta)) )
Comp_data = comp_Model(n = n, p = p, beta = beta, intercept = FALSE)
test_data = comp_Model(n = 30, p = p, beta = beta, intercept = FALSE)
cvm1 <- cv.compCL(y = Comp_data$y, Z = Comp_data$X.comp,
                  Zc = Comp_data$Zc, intercept = Comp_data$intercept)
y_hat = predict(cvm1, Znew = test_data$X.comp, Zcnew = test_data$Zc)
predmat = predict(cvm1, Znew = test_data$X.comp, Zcnew = test_data$Zc, s = NULL)
plot(test_data$y, y_hat, xlab = "Observed response", ylab = "Predicted response")
abline(a = 0, b = 1, col = "red")

# }

Run the code above in your browser using DataLab