mle.FactorTree {FactorCopula} | R Documentation |
Maximum likelhood estimation of factor tree copula models
Description
We use a two-stage estimation approach toward the estimation of factor tree copula models for item response data.
Usage
mle1FactorTree(y, A, cop, gl, hessian, print.level)
mle2FactorTree(y, A, cop, gl, hessian, print.level)
Arguments
y |
|
A |
|
cop |
|
gl |
Gauss legendre quardrature nodes and weights. |
hessian |
If TRUE, the hessian of the negative log-likelihood is calculated during the minimization process. |
print.level |
Determines the level of printing which is done during the minimization process; same as in |
Details
Estimation is achieved by maximizing the joint log-likelihood over the copula parameters with the univariate cutpoints fixed as estimated at the first step of the proposed two-step estimation approach.
Value
A list containing the following components:
cutpoints |
The estimated univariate cutpoints. |
loglik |
The maximized joint log-likelihood. |
taus |
The estimated copula parameters in Kendall's tau scale. |
SEs |
The SEs of the Kendall's tau estimates. |
Author(s)
Sayed H. Kadhem
Aristidis K. Nikoloulopoulos a.nikoloulopoulos@uea.ac.uk
References
Joe, H. (2014). Dependence Modelling with Copulas. Chapman & Hall, London.
Kadhem, S.H. and Nikoloulopoulos, A.K. (2022b) Factor tree copula models for item response data. Arxiv e-prints, <arXiv: 2201.00339>. https://arxiv.org/abs/2201.00339.
Examples
#------------------------------------------------
# Setting quadreture points
nq <- 5
gl <- gauss.quad.prob(nq)
#------------------------------------------------
# PTSD Data
#------------------ -----------------
data(PTSD)
ydat=PTSD
n=nrow(ydat)
d=ncol(ydat)
#------------------------------------------------
# Estimation
#------------------ -----------------
#selecting vine tree based on polychoric
rmat=polychoric0(ydat)$p
A.polychoric=selectFactorTrVine(y=ydat,rmat,alg=3)
#---------------- 1-factor tree ----------------
# 1-factor tree copula model
copf1 <- rep("frk",d)
coptree <- rep("frk",d-1)
cop <- c(copf1,coptree)
est1factortree <- mle1FactorTree(y=ydat, A=A.polychoric$VineTreeA, cop,
gl, hessian=FALSE, print.level=2)
#---------------- 2-factor tree ----------------
# 2-factor tree copula model
copf1 <- rep("frk",d)
copf2 <- rep("frk",d)
coptree <- rep("frk",d-1)
cop <- c(copf1,copf2,coptree)
est2factortree <- mle2FactorTree(y=ydat, A=A.polychoric$VineTreeA,
cop, gl, hessian=FALSE, print.level=2)