cvScaledMatrixFrobeniusLoss {cvCovEst} | R Documentation |
Cross-Validation Function for Scaled Matrix Frobenius Loss
Description
cvScaledMatrixFrobeniusLoss()
evaluates the scaled matrix
Frobenius loss over a fold
object (from 'origami'
(Coyle and Hejazi 2018)). The squared error loss computed for each
entry of the estimated covariance matrix is scaled by the training set's
sample variances of the variable associated with that entry's row and
column variables. This loss should be used instead of
cvMatrixFrobeniusLoss()
when a dataset's variables' values
are of different magnitudes.
Usage
cvScaledMatrixFrobeniusLoss(fold, dat, estimator_funs, estimator_params = NULL)
Arguments
fold |
A |
dat |
A |
estimator_funs |
An |
estimator_params |
A named |
Value
A tibble
providing information on estimators,
their hyperparameters (if any), and their scaled matrix Frobenius loss
evaluated on a given fold
.
References
Coyle J, Hejazi N (2018). “origami: A Generalized Framework for Cross-Validation in R.” Journal of Open Source Software, 3(21), 512. doi:10.21105/joss.00512.
Examples
library(MASS)
library(origami)
library(rlang)
# generate 10x10 covariance matrix with unit variances and off-diagonal
# elements equal to 0.5
Sigma <- matrix(0.5, nrow = 10, ncol = 10) + diag(0.5, nrow = 10)
# sample 50 observations from multivariate normal with mean = 0, var = Sigma
dat <- mvrnorm(n = 50, mu = rep(0, 10), Sigma = Sigma)
# generate a single fold using MC-cv
resub <- make_folds(dat,
fold_fun = folds_vfold,
V = 2
)[[1]]
cvScaledMatrixFrobeniusLoss(
fold = resub,
dat = dat,
estimator_funs = rlang::quo(c(
linearShrinkEst, thresholdingEst, sampleCovEst
)),
estimator_params = list(
linearShrinkEst = list(alpha = c(0, 1)),
thresholdingEst = list(gamma = c(0, 1))
)
)