trans.local.DAG {TransGraph} | R Documentation |
Structural transfer learning of non-Gaussian DAG.
Description
Structural transfer learning of non-Gaussian DAG.
Usage
trans.local.DAG(t.data, A.data, hardth=0.5, hardth.A=hardth, criti.val=0.01,
precision.method="glasso", precision.method.A = "CLIME",
cov.method="opt", cn.lam2=seq(1,2.5,length.out=10),
precision.refit=TRUE, ini.prec=TRUE, cut.off=TRUE,
preselect.aux=0, sel.type="L2")
Arguments
t.data |
The target data, a n * p matrix, where n is the sample size and p is data dimension. |
A.data |
The auxiliary data in K auxiliary domains, a list with K elements, each of which is a nk * p matrix, where nk is the sample size of the k-th auxiliary domain. |
hardth |
The hard threshold of regression in the target domain. |
hardth.A |
The hard threshold of regression in the auxiliary domains. |
criti.val |
The critical value of independence test based on distance covariance, and the default setting is 0.01. |
precision.method |
The initial method of estimating the target precision matrix, which can be selected as "CLIME" or "glasso". |
precision.method.A |
The initial method of estimating the auxiliary precision matrices, which can be selected as "CLIME" or "glasso". |
cov.method |
The method of aggregating K auxiliary covariance matrices, which can be selected as "size" (the sum weighted by the sample sizes), "weight" (the sum weighted by the differences), or "opt" (select the optimal one). |
cn.lam2 |
A vector or a float value: the coefficients set in tuning parameters used to solve the target precision matrix, default is cn.lam2*sqrt( log(p) / n ). |
precision.refit |
Whether to perform regression for re-fitting the coefficients in the precision matrix to improve estimation accuracy, after determining the non-zero elements of the precision matrix. The default is True. |
ini.prec |
Whether to store the initial estimation of the precision matrix, and the default is True. |
cut.off |
Whether to truncate the finally estimated coefficients in the structural equation models at threshold "hardth", and the default is True. |
preselect.aux |
Whether to pre-select informative auxiliary domains based on the distance between initially estimated auxiliary and target parameters. The default is 0, which means that pre-selection will not be performed. If "preselect.aux" is specified as a real number greater than zero, then the threshold value is forpreselect.auxssqrt( log(p) / n ). |
sel.type |
If pre-selection should be performed, "sel.type" is the type of distance. The default is L2 norm, and can be specified as "L1" to use L1 norm. |
Value
A result list including:
- A
The information of layer.
- B
The coefficients in structural equation models.
- prec.res0
The results about estimating the prscision matrix via transfer learning.
- prec.res0$Theta.hat
The estimated prscision matrix via transfer learning.
- prec.res0$Theta.hat0
The estimated prscision matrix based on the target domain only.
Author(s)
Mingyang Ren renmingyang17@mails.ucas.ac.cn, Xin He, and Junhui Wang
References
Ren, M., He X., and Wang J. (2023). Structural transfer learning of non-Gaussian DAG.
Examples
library(TransGraph)
# load example data from github repository
# Please refer to https://github.com/Ren-Mingyang/example_data_TransGraph
# for detailed data information
githublink = "https://github.com/Ren-Mingyang/example_data_TransGraph/"
load(url(paste0(githublink,"raw/main/example.data.DAG.RData")))
t.data = example.data.DAG$target.DAG.data$X
true_adjace = example.data.DAG$target.DAG.data$true_adjace
A.data = example.data.DAG$auxiliary.DAG.data$X.list.A
# transfer method
res.trans = trans.local.DAG(t.data, A.data)
# Topological Layer method-based single-task learning (JLMR, 2022)
res.single = TLLiNGAM(t.data)
Evaluation.DAG(res.trans$B, true_adjace)$Eval_result
Evaluation.DAG(res.single$B, true_adjace)$Eval_result