predict {cglasso} | R Documentation |
Predict Method for cglasso and cggm Fits
Description
Obtains predictions from an R object inheriting class ‘cglasso
’.
Usage
## S3 method for class 'cglasso'
predict(object, type = c("B", "mu", "Sigma", "Theta"), X.new, lambda.new, rho.new,
...)
## S3 method for class 'cggm'
predict(object, X.new, ...)
Arguments
object |
an R object inheriting class ‘ |
type |
a description of prediction required. |
X.new |
matrix of new values for |
lambda.new |
value of the tuning parameter |
rho.new |
value of the tuning parameter |
... |
further arguments passed to or from other methods. |
Details
If object
has S3 class ‘cglasso
’, then for a new pair of the tuning parameters and
, the
predict
function can be used to predict the estimate of the regression coefficient matrix (‘type = "B"
’), the estimate of the covariance matrix (‘type = "Sigma"
’) or the estimate of the precision matrix (‘type = "Theta"
’). If X.new
is missing and ‘type = "mu"
’, then the predict
function returns the predicted values using the matrix of predictors X
, otherwise the predicted fitted values are computed using the matrix X.new
.
For a new pair of the tuning parameters and
, the predicted values are computed using a bilinear interpolation.
If the object
has S3 class ‘cggm
’, then the predict
function returns only the predicted fitted values using the argument X.new
.
Value
The matrix of predicted values.
Author(s)
Luigi Augugliaro (luigi.augugliaro@unipa.it)
See Also
Model-fitting function cglasso
and the other accessor functions coef.cglasso
, fitted.cglasso
, residuals.cglasso
and impute
.
Examples
set.seed(123)
# Y ~ N(0, Sigma) and probability of left/right censored values equal to 0.05
n <- 100L
p <- 3L
rho <- 0.3
Sigma <- outer(1L:p, 1L:p, function(i, j) rho^abs(i - j))
Z <- rcggm(n = n, Sigma = Sigma, probl = 0.05, probr = 0.05)
out <- cglasso(. ~ ., data = Z)
rho.new <- mean(out$rho)
Theta.pred <- predict(out, rho.new = rho.new, type = "Theta")
Theta.pred
# Y ~ N(b0 + XB, Sigma) and probability of left/right censored values equal to 0.05
n <- 100L
p <- 3L
q <- 2
b0 <- runif(p)
B <- matrix(runif(q * p), nrow = q, ncol = p)
X <- matrix(rnorm(n * q), nrow = n, ncol = q)
rho <- 0.3
Sigma <- outer(1L:p, 1L:p, function(i, j) rho^abs(i - j))
Z <- rcggm(n = n, b0 = b0, X = X, B = B, Sigma = Sigma, probl = 0.05, probr = 0.05)
out <- cglasso(. ~ ., data = Z)
rho.new <- mean(out$rho)
lambda.new <- mean(out$lambda)
Theta.pred <- predict(out, lambda.new = lambda.new, rho.new = rho.new, type = "Theta")
Theta.pred