sparsePrec {sparseMatEst} | R Documentation |
Sparse precision matrix estimator with error control
Description
Given a data matrix, sparsePrec
estimates the precision
matrix for the data under the assumption that the true precision
matrix is sparse, i.e. that most of the off-diagonal entries are
equal to zero.
Usage
sparsePrec(dat = 0, prec = 0, alf = 0.5, iter = 10, pnrm = Inf,
THRSH = "hard", rho = 1, regMeth = "glasso")
Arguments
dat |
nxk data matrix, n observations, k dimensions |
prec |
start with a precision estimator instead of |
alf |
false positive rate in [0,1], Default is 0.5 |
iter |
number of iterates, Default is 10 |
pnrm |
norm to use, Default = Inf |
THRSH |
Type of thresholding used; Takes values: hard, soft, adpt, scad. |
rho |
Penalization parameter for the initial estimator, Default is 1 |
regMeth |
Type of initial estimator, Default is 'glasso' |
Details
The algorithm begins with an initial precision matrix estimator
being either regMeth
= 'glasso' for debiased graphical lasso
or regMeth
= 'ridge' for debiased ridge estimator.
It then iteratively computes covariance
estimators with false positive rates of alf
, alf
^2,
and so on until iter
estimators have been constructed.
If dat
is not included, but prec
is, then the
code runs as before but using the argument prec
as the
initial precision matrix estimator. In this case, the regMeth
is not considered.
The norm chosen determines the topology on the space of matrices.
pnorm
defaults to Inf
being the operator norm
or maximal eigenvalue. This is theoretically justified to work
in the references.
Other norms could be considered, but their performance is not
a strong.
Four thresholding methods are implemented. THRSH
defaults
to hard thresholding where small matrix entries are set to zero
while large entries are not affected. The soft and adpt thresholds
shrink all entries towards zero. The scad threshold interpolates
between hard and soft thresholding. More details can be found
in the references.
Value
a list of arrays containing iter+1
sparse
precision matrices corresponding to false positive rates of
1
, alf
,
alf
^2,..., alf
^iter
. Each list
corresponds to one type of thresholding chosen by THRSH
.
Author(s)
Adam B Kashlak kashlak@ualberta.ca
References
Kashlak, Adam B. "Non-asymptotic error controlled sparse high dimensional precision matrix estimation." arXiv preprint arXiv:1903.10988 (2019).
Examples
# Generate four sparse covariance matrix estimators
# with false positive rates of 0.5, 0.25, 0.125,
# and 0.0625
n = 30
k = 50
dat = matrix(rnorm(n*k),n,k)
out = sparsePrec( dat, alf=0.5, iter=4, THRSH=c("hard","soft") )
par(mfcol=c(2,2))
lab = c(1,0.5,0.5^2,0.5^3,0.5^4);
for( i in 2:5 )
image( out$hard[,,i]!=0, main=lab[i] )
for( i in 2:5 )
image( log(abs(out$hard[,,i] - out$soft[,,i])), main=lab[i] )