Select.FactorTree {FactorCopula} | R Documentation |
Model selection of the 1- and 2-factor tree copula models for item response data
Description
Heuristic algorithms that automatically select the bivariate parametric copula families and 1-truncated vine tree structure for the 1- and 2-factor tree copula models for item response data.
Usage
selectFactorTrVine(y,rmat,alg)
copselect1FactorTree(y, A, copnames, gl)
copselect2FactorTree(y, A, copnames, gl)
Arguments
y |
|
rmat |
Polychoric correlation matrix of y. |
alg |
1-truncated vine selection using partial and polychoric correlations. Choose a number from (1,2,3). 1: Partial correlation selection algorithm for 1-factor tree copula. 2: Partial correlation selection algorithm for 2-factor tree copula. 3: Polychoric correlation selection algorithm for 1-factor/2-factor tree copulas, here any other correlation matrix (rmat) can be used. |
A |
|
copnames |
A vector with the names of possible candidates of bivariate copulas to be selected for the 1-factor/2-factor copula models for item response data. Choices are “bvn” for BVN, “bvt |
gl |
Gauss legendre quardrature nodes and weights. |
Details
The model selection involves two separate steps. At the first step we select the 1-truncated vine or Markov tree structure assuming our models are constructed with BVN copulas. We find the maximum spanning tree which is a tree on all nodes that maximizes the pairwise dependencies using the well-known algorithm of Prim (1957). That is we find the tree with d-1
edges \mathcal{E}
that minimizes
\sum_{\mathcal{E}}\log(1-r_{jk}^2).
The minimum spanning tree algorithm of Prim (1957)
guarantees to find the optimal solution when edge weights between nodes are given by \log(1-r_{jk}^2)
.
We use two different measures of pairwise dependence r_{jk}
. The first measure is the estimated polychoric correlation (Olsson, 1979). The second measures of pairwise dependence is the partial correlation which is based on the factor copula models in Nikoloulopoulos and Joe (2015) with BVN copulas; for more details see Kadhem and Nikoloulopoulos (2022). We call polychoric and partial correlation selection algorithm when the pairwise dependence is the polychoric and partial correlation, respectively.
At the the second step, we sequentially select suitable bivariate copulas to account for any tail dependence/asymmetry. We start from the 1st tree that includes copulas connecting the observed variables to the first factor and then we iterate over a set of copula candidates and select suitable bivariate copulas in the subsequent trees. We select only one copula family for all the edges in each tree to ease interpretation.
Value
A list containing the following components:
``1Factor copulas'' |
The selected bivariate linking copulas for the first factor. |
``2Factor copulas'' |
The selected bivariate linking copulas for the second factor. |
``Vine tree copulas'' |
The selected bivariate linking copulas for the 1-truncated vine tree. |
``log-likelihood'' |
The maximized joint log-likelihood. |
``estimated taus'' |
The estimated copula parameters in Kendall's tau scale. |
F1treeA |
Vine array for the 1-factor tree copula. |
F2treeA |
Vine array for the 2-factor tree copula. |
pmat_f1 |
Partial correlation matrix for the 1-factor tree copula. |
pmat_f2 |
Partial correlation matrix for the 2-factor tree copula. |
Author(s)
Sayed H. Kadhem
Aristidis K. Nikoloulopoulos a.nikoloulopoulos@uea.ac.uk
References
Fontenla, M. (2014). optrees: Optimal Trees in Weighted Graphs. R package version 1.0.
Kadhem, S.H. and Nikoloulopoulos, A.K. (2022) Factor tree copula models for item response data. Arxiv e-prints, <arXiv: 2201.00339>. https://arxiv.org/abs/2201.00339.
Nikoloulopoulos, A.K. and Joe, H. (2015) Factor copula models with item response data. Psychometrika, 80, 126–150. doi:10.1007/s11336-013-9387-4.
Olsson, F. (1979) Maximum likelihood estimation of the polychoric correlation coefficient. Psychometrika, 44, 443–460.
Prim, R. C. (1957) Shortest connection networks and some generalizations. The Bell System Technical Journal, 36, 1389–1401.
Examples
#------------------------------------------------
# Setting quadreture points
nq <- 5
gl <- gauss.quad.prob(nq)
#------------------------------------------------
# PTSD Data
#------------------ -----------------
data(PTSD)
ydat=PTSD
#------------------------------------------------
#vine tree structure
#selecting vine tree based on polychoric corr
rmat=polychoric0(ydat)$p
A.polychoric=selectFactorTrVine(y=ydat,rmat,alg=3)
#selecting bivariate copulas for the 1-2-factor tree
# listing the possible copula candidates:
copnames=c("gum", "rgum")
f1tree_model = copselect1FactorTree(ydat, A.polychoric$VineTreeA,
copnames, gl)
f2tree_model = copselect2FactorTree(ydat, A.polychoric$VineTreeA,
copnames, gl)