predict.cv.compCL {Compack}R Documentation

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 class '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.

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.

Value

predicted values at the requested values of s.

Author(s)

Zhe Sun and Kun Chen

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

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")


[Package Compack version 0.1.0 Index]