| Title: | Sparse Covariance Estimation Based on Thresholding | 
| Version: | 0.0.1 | 
| Description: | A sparse covariance estimator based on different thresholding operators. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.1 | 
| Imports: | Matrix, methods, mvnfast, Rfast, sparseMVN, stats | 
| URL: | https://github.com/chexjiang/sparseCov | 
| NeedsCompilation: | no | 
| Packaged: | 2024-04-10 11:43:58 UTC; chenxinjiang | 
| Author: | Chenxin Jiang [aut, cre] | 
| Maintainer: | Chenxin Jiang <cflorajiang@g.ucla.edu> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-04-10 16:50:02 UTC | 
This function construct a covariance matrix with a block diagonal structure.
Description
This function construct a covariance matrix with a block diagonal structure.
Usage
block.true.cov(p, block.size = 3)
Arguments
| p | The number of variants. | 
| block.size | The block size. | 
Value
A covariance matrix with a block diagonal structure.
Examples
data.true.cov <- block.true.cov(30)
data.true.cov[1:9,1:9]
This function select the optimal thresholding level delta
Description
This function select the optimal thresholding level delta
Usage
est_delta(
  data,
  method = c("cv", "qiu"),
  operator = c("hard", "soft", "scad", "al")
)
Arguments
| data | The data matrix. | 
| method | The choice of method to select the optimal threshold level. | 
| operator | The choice of thresholding operator. | 
Value
The optimal threshold level.
Examples
## generate data from a block diagonal covariance matrix structure
n <- 50
p <- 30
data.true.cov <- block.true.cov(p)
data <- sampleMVN(n, data.true.cov, sparse=TRUE)
## select the optimal thresholding level delta
delta <- est_delta(data, method='cv', operator='scad')
This function computes the thresholding sparse covariance/correlation estimator with the optimal threshold level.
Description
This function computes the thresholding sparse covariance/correlation estimator with the optimal threshold level.
Usage
est_sparseCov(
  data,
  method = c("cv", "qiu"),
  operator = c("hard", "soft", "scad", "al"),
  corr = TRUE
)
Arguments
| data | The data matrix. | 
| method | The choice of method to select the optimal threshold level. | 
| operator | The choice of the thresholding operator. | 
| corr | The indicator of computing correlation or covariance matrix. | 
Value
The thresholding sparse covariance/correlation estimator.
Examples
## generate data from a block diagonal covariance matrix structure
n <- 50
p <- 30
data.true.cov <- block.true.cov(p)
data <- sampleMVN(n, data.true.cov, sparse=TRUE)
## compute the thresholding sparse covariance/correlation estimator
s <- est_sparseCov(data, method='cv', operator='scad', corr=FALSE)
This function samples MVN based on a given covariance matrix
Description
This function samples MVN based on a given covariance matrix
Usage
sampleMVN(n, Sigma, sparse = TRUE, n_cores = 1, fastmvn = FALSE)
Arguments
| n | The sample size. | 
| Sigma | The covariance matrix. | 
| sparse | The indicator of sparse sampling or not. | 
| n_cores | The number of cores used. | 
| fastmvn | The indicator of fast sampling or not. | 
Value
The data matrix sampled from the covariance matrix.
Examples
## generate data from a block diagonal covariance matrix structure
n <- 50
p <- 30
data.true.cov <- block.true.cov(p)
data <- sampleMVN(n, data.true.cov, sparse=TRUE)
data[1:10, 1:10]
This function computes the thresholding sparse covariance estimator for a given threshold level.
Description
This function computes the thresholding sparse covariance estimator for a given threshold level.
Usage
thresh_op(z, operator, delta, n)
Arguments
| z | The sample covariance matrix. | 
| operator | The choice of the thresholding operator. | 
| delta | The thresholding level. | 
| n | The sample size of data matrix. | 
Value
The thresholding sparse covariance estimator for a given threshold level.
Examples
## generate data from a block diagonal covariance matrix structure
n <- 50
p <- 30
data.true.cov <- block.true.cov(p)
data <- sampleMVN(n, data.true.cov, sparse=TRUE)
## compute the sample covariance
z <- Rfast::cova(data) *(n-1)/n
## get the sparse covariance matrix estimator for a given threshold level
s <- thresh_op(z, operator='soft', delta=1, n=n)
s[1:9,1:9]