Learn R Programming

FactorCopula (version 0.9.3)

M2.Factor: Goodness-of-fit of factor copula models for mixed data

Description

The limited information \(M_2\) statistic (Maydeu-Olivares and Joe, 2006) of factor copula models for mixed continuous and discrete data.

Usage

M2.1F(tcontinuous, ordinal, tcount, cpar, copF1, gl)
M2.2F(tcontinuous, ordinal, tcount, cpar, copF1, copF2, gl, SpC)

Value

A list containing the following components:

M2

The \(M_2\) statistic which has a null asymptotic distribution that is \(\chi^2\) with \(s-q\) degrees of freedom, where \(s\) is the number of univariate and bivariate margins that do not include the category 0 and \(q\) is the number of model parameters.

df

\(s-q\).

p-value

The resultant \(p\)-value.

Arguments

tcontinuous

\(n \times d_1\) matrix with the transformed continuous to ordinal reponse data, where \(n\) and \(d_1\) is the number of observations and transformed continous variables, respectively.

ordinal

\(n \times d_2\) matrix with the ordinal reponse data, where \(n\) and \(d_2\) is the number of observations and ordinal variables, respectively.

tcount

\(n \times d_3\) matrix with the transformed count to ordinal reponse data, where \(n\) and \(d_3\) is the number of observations and transformed count variables, respectively.

cpar

A list of estimated copula parameters.

copF1

\((d_1+d_2+d_3)\)-vector with the names of bivariate copulas that link the each of the oberved variabels with the 1st factor. Choices are “bvn” for BVN, “bvt\(\nu\)” with \(\nu = \{1, \ldots, 9\}\) degrees of freedom for t-copula, “frk” for Frank, “gum” for Gumbel, “rgum” for reflected Gumbel, “1rgum” for 1-reflected Gumbel, “2rgum” for 2-reflected Gumbel, “joe” for Joe, “rjoe” for reflected Joe, “1rjoe” for 1-reflected Joe, “2rjoe” for 2-reflected Joe, “BB1” for BB1, “rBB1” for reflected BB1, “BB7” for BB7, “rBB7” for reflected BB7,“BB8” for BB8, “rBB8” for reflected BB8, “BB10” for BB10, “rBB10” for reflected BB10.

copF2

\((d_1+d_2+d_3)\)-vector with the names of bivariate copulas that link the each of the oberved variabels with the 2nd factor. Choices are “bvn” for BVN, “bvt\(\nu\)” with \(\nu = \{1, \ldots, 9\}\) degrees of freedom for t-copula, “frk” for Frank, “gum” for Gumbel, “rgum” for reflected Gumbel, “1rgum” for 1-reflected Gumbel, “2rgum” for 2-reflected Gumbel, “joe” for Joe, “rjoe” for reflected Joe, “1rjoe” for 1-reflected Joe, “2rjoe” for 2-reflected Joe, “BB1” for BB1, “rBB1” for reflected BB1, “BB7” for BB7, “rBB7” for reflected BB7,“BB8” for BB8, “rBB8” for reflected BB8, “BB10” for BB10, “rBB10” for reflected BB10.

gl

Gauss legendre quardrature nodes and weights.

SpC

Special case for the 2-factor copula model with BVN copulas. Select a bivariate copula at the 2nd factor to be fixed to independence. e.g. "SpC = 1" to set the first copula at the 2nd factor to independence.

Author

Sayed H. Kadhem s.kadhem@uea.ac.uk
Aristidis K. Nikoloulopoulos a.nikoloulopoulos@uea.ac.uk

Details

The \(M_2\) statistic has been developed for goodness-of-fit testing in multidimensional contingency tables by Maydeu-Olivares and Joe (2006). Nikoloulopoulos and Joe (2015) have used the \(M_2\) statistic to assess the goodness-of-fit of factor copula models for ordinal data. We build on the aforementioned papers and propose a methodology to assess the overall goodness-of-fit of factor copula models for mixed continuous and discrete responses. Since the \(M_2\) statistic has been developed for multivariate ordinal data, we propose to first transform the continuous and count variables to ordinal and then calculate the \(M_2\) statistic at the maximum likelihood estimate before transformation.

References

Kadhem, S.H. and Nikoloulopoulos, A.K. (2021) Factor copula models for mixed data. British Journal of Mathematical and Statistical Psychology, 74, 365--403. tools:::Rd_expr_doi("10.1111/bmsp.12231").

Maydeu-Olivares, A. and Joe, H. (2006). Limited information goodness-of-fit testing in multidimensional contingency tables. Psychometrika, 71, 713--732. tools:::Rd_expr_doi("10.1007/s11336-005-1295-9").

Nikoloulopoulos, A.K. and Joe, H. (2015) Factor copula models with item response data. Psychometrika, 80, 126--150. tools:::Rd_expr_doi("10.1007/s11336-013-9387-4").

Examples

Run this code
# \donttest{
#------------------------------------------------
# Setting quadreture points
nq <- 25  
gl <- gauss.quad.prob(nq) 
#------------------------------------------------
#                     PE Data
#------------------             -----------------
data(PE)
continuous.PE1 = -PE[,1]
continuous.PE2 = PE[,2]
continuous.PE <- cbind(continuous.PE1, continuous.PE2)

categorical.PE <- PE[, 3:5]
#------------------------------------------------
#                   Estimation
#------------------             -----------------
#------------------ One-factor  -----------------
# one-factor copula model
cop1f.PE <- c("joe", "joe", "rjoe", "joe", "gum")
est1factor.PE <- mle1factor(continuous.PE, categorical.PE, 
                            count=NULL, copF1=cop1f.PE, gl, hessian = TRUE)
#------------------------------------------------
#                       M2  
#------------------------------------------------
#Transforming the continuous to ordinal data:
ncontinuous.PE = continuous2ordinal(continuous.PE, 5)
# M2 statistic for the one-factor copula model:

m2.1f.PE <- M2.1F(ncontinuous.PE, categorical.PE, tcount=NULL, 
                  cpar=est1factor.PE$cpar, copF1=cop1f.PE, gl)
                      
# }

Run the code above in your browser using DataLab