DensParcorr.Rd
This function is to conduct the Dens-based approach for partial correlation estimation in large scale brain network study.
DensParcorr is the main function in this package. prec2dens and prec2part are sub-functions called by DensParcorr.
DensParcorr(data,select=FALSE,dens.level="plateau",plateau.thresh=0.01,
Parcorr.est=NULL,directory=NULL)
data | Input data matrix with dimension of TxM where T is the number of observations and M is the number of nodes. For example, in fMRI data the T is the number of scans. |
---|---|
select | Whether to conduct the Dens-based selection. If FALSE, output will only contain the estimated partial correlation list and precision matrix list corresponding to the default tuning parameter series ranging from 1e-8 to 0.6. If TRUE, the ouput will include the previous results and the selected partial correlation matrix and percision matrix corresponding to the specified density level. Default is FALSE. |
dens.level | Specify the density level in Dens-based tuning parameter selection method, including the plateau based density selection ( |
plateau.thresh | The criterion to select the plateau. This option is valid only when |
Parcorr.est | Previous output from DensParcorr function. |
directory | The directory to output the figures and precision matrices and the partial correlation matrices. The default ( |
This function implements the statistical method proposed in Wang et al. (2016) to estimate partial correlation matrix for studying direct connectivity in large-scale brain network. The method derives partial correlation based on the precision matrix estimated via Constrained L1-minimization Approach (CLIME) (Cai et al., 2011). This function applies the Dens-based tuning parameter selection method in Wang et al. (2016) to help select an appropriate tuning parameter for sparsity control in the network estimation. Below is the breif step of Dens-based approach.
First, we specify a series of tuning parameters {\(\lambda_n\)}. Then, based on {\(\lambda_n\)} we esimate a list of precision matices \(\Omega(\lambda_n)\) and and evaluate the density level of each precision matrix based on the Dens criterion function in equation (5) of Wang et al. (2016). This will provide the users the profile of the density level corresponding to the series of tuning parameters in {\(\lambda_n\)}. Users can use the dens.level
option to specify the desired density level in the precision matrix estimation. If dens.level
="plateau", the function will select the plateau point \(\lambda_{platu}\) in the density profile based on the plateau.thresh
and output the precision matrix \(\Omega(\lambda_{platu})\). If dens.level
=p and 0<p<1, the function will select the tuning parameter \(\lambda_p\) to achieve p percentage density and output the precision matrix \(\Omega(\lambda_p)\). Then, the partial correlation matrix will be derived from the precision matrix. Further details can be found in the Reference.
The density profile and the heatmaps of precision matrices and partial correlation matrices will be saved in directory
, and the esimated list of precision matrices and partial correlation matrices will also be saved in directory
.
When users would like to run the function multiple times on the same input data for different dens.level
, it is computationally more efficient to read in the previous output from DensParcorr to Parcorr.est
so that the function won't need to re-estimate the partial correlations based on the previous tuning parameters.
An R list from DensParcorr containing the following terms:
Selected Partial Correlation matrix corresponding to dens.level
. Only when select
=TRUE.
Selected Precision matrix corresponding to dens.level
. Only when select
=TRUE.
Selected tuning parameter corresponding to dens.level
. Only when select
=TRUE.
The series of tuning parameters used for esimation and density profile.
Estimated Partial Correlation matrix list corresponding to lambda.list
.
Estimated Precision matrix list corresponding to lambda.list
.
Actual density levels for estimated precision matrix list.
Actual percentage density levels for estimated precision matrix list.
The method used for tuning parameter selection. For percentage Dens selection, this value will include the actual Dens precentage and the nominal Dens percentage. Only when select
=TRUE.
Wang, Y., Kang, J., Kemmer P. and Guo, Y. (2016). An efficient and reliable statistical method for estimating functional connectivity in large scale brain networks using partial correlation. Front. Neurosci. 10:123. doi: 10.3389/fnins.2016.00123
Cai, T.T., Liu, W., and Luo, X. (2011). A constrained \(\ell_1\) minimization approach for sparse precision matrix estimation. Journal of the American Statistical Association 106(494): 594-607.
Yikai Wang, Jian Kang, Phebe Brenne Kemmer and Ying Guo
Maintainer: Yikai Wang yikai.wang@emory.edu
# require(gplots)
# require(clime)
## Simulated the data to use.
# data = matrix(rnorm(200),ncol=20)
##### Example 1: Estimate the partial correlation matrices for the
##### default series of tuning parameters.
# t0 = proc.time()[3]
# dens.est = DensParcorr(data,select=FALSE)
# proc.time()[3]-t0
##### Example 2: Estimate the network that reaches 40% density level.
# partial.dens.est = DensParcorr(data,dens.level =.4,select=TRUE)
###### Example 3: Now, estimate the 60% density level network based
###### on the same data. To speed up computation, we read in the
###### previous output from Example 2 into Parcorr.est
# t0 = proc.time()[3]
# partial.dens.est2 = DensParcorr(data, Parcorr.est = partial.dens.est,
# dens.level=.6,select=TRUE)
# proc.time()[3]-t0