Nothing
test_that("Test shrinkage estimator", {
# Parameters
nSamples <- 500
pTrue <- 2
# True moments
trueMean <- c(0,0)
trueSigma <- matrix(c(3,2,2,2), nrow=2)
chol_trueSigma <- chol(trueSigma)
# we run 100 shrinkage estimators
lambdas <- rep(0, 100)
for(i in seq(100)){
rr <- replicate(nSamples, trueMean) +
t(chol_trueSigma)%*%matrix(stats::rnorm(pTrue*nSamples), nrow=pTrue,ncol=nSamples)
# Estimate mean and covariance from samples
mean_est <- rowMeans(rr)
Sigma_est <- cov(t(rr))
mean_est
trueMean
Sigma_est
rr_centered <- rr- replicate(nSamples, mean_est)
rowMeans(rr_centered)
x <- t(rr)
#x <- t(rr_centered)
lambdas[i] <- schaferStrimmer_cov(x)$lambda_star
}
# The average over 100 runs must be within a certain range
mean_lambdas <- mean(lambdas)
# We expect this to be lower than the 99.99% quantile over 200 simulations of this scenario
expect_lte(mean_lambdas, 0.005191634)
# We expect this to be greater than the 0.01% quantile over 200 simulations of this scenario
expect_gte(mean_lambdas, 0.004843328)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.