Asymptotic Covariance Matrix, Standard Errors and Confidence Intervals
Asymptotic Covariance Matrix, Standard Errors and Confidence Intervals
Computes the asymptotic covariance matrix for din objects. The covariance matrix is computed using the empirical cross-product approach (see Paek & Cai, 2014).
In addition, an S3 method IRT.se is defined which produces an extended output including vcov and confint.
## S3 method for class 'din'vcov(object, extended=FALSE, infomat=FALSE,ind.item.skillprobs=TRUE, ind.item=FALSE, diagcov=FALSE, h=.001,...)## S3 method for class 'din'confint(object, parm, level=.95, extended=FALSE, ind.item.skillprobs=TRUE, ind.item=FALSE, diagcov=FALSE, h=.001,...)IRT.se(object,...)## S3 method for class 'din'IRT.se( object, extended=FALSE, parm=NULL, level=.95, infomat=FALSE, ind.item.skillprobs=TRUE, ind.item=FALSE, diagcov=FALSE, h=.001,...)
Arguments
object: An object inheriting from class din.
extended: An optional logical indicating whether the covariance matrix should be calculated for an extended set of parameters (estimated and derived parameters).
infomat: An optional logical indicating whether the information matrix instead of the covariance matrix should be the output.
ind.item.skillprobs: Optional logical indicating whether the covariance between item parameters and skill class probabilities are assumed to be zero.
ind.item: Optional logical indicating whether covariances of item parameters between different items are zero.
diagcov: Optional logical indicating whether all covariances between estimated parameters are set to zero.
h: Parameter used for numerical differentiation for computing the derivative of the log-likelihood function.
parm: Vector of parameters. If it is missing, then for all estimated parameters a confidence interval is calculated.
level: Confidence level
...: Additional arguments to be passed.
Returns
coef: A vector of parameters.
vcov: A covariance matrix. The corresponding coefficients can be extracted as the attribute coef from this object.
IRT.se: A data frame containing coefficients, standard errors and confidence intervals for all parameters.
References
Paek, I., & Cai, L. (2014). A comparison of item parameter standard error estimation procedures for unidimensional and multidimensional item response theory modeling. Educational and Psychological Measurement, 74(1), 58-76.
See Also
din, coef.din
Examples
## Not run:############################################################################## EXAMPLE 1: DINA model sim.dina#############################################################################data(sim.dina, package="CDM")data(sim.qmatrix, package="CDM")dat <- sim.dina
q.matrix <- sim.qmatrix
#****** Model 1: DINA Modelmod1 <- CDM::din( dat, q.matrix=q.matrix, rule="DINA")# look into parameter table of the modelmod1$partable
# covariance matrixcovmat1 <- vcov(mod1 )# extract coefficientscoef(mod1)# extract standard errorssqrt( diag( covmat1))# compute confidence intervalsconfint( mod1, level=.90)# output table with standard errorsIRT.se( mod1, extended=TRUE)#****** Model 2: Constrained DINA Model# fix some slipping parametersconstraint.slip <- cbind( c(2,3,5), c(.15,.20,.25))# set some skill class probabilities to zerozeroprob.skillclasses <- c(2,4)# estimate modelmod2 <- CDM::din( dat, q.matrix=q.matrix, guess.equal=TRUE, constraint.slip=constraint.slip, zeroprob.skillclasses=zeroprob.skillclasses)# parameter tablemod2$partable
# freely estimated coefficientscoef(mod2)# covariance matrix (estimated parameters)vmod2a <- vcov(mod2)sqrt( diag( vmod2a))# standard errorscolnames( vmod2a )names( attr( vmod2a,"coef"))# extract coefficients# covariance matrix (more parameters, extended=TRUE)vmod2b <- vcov(mod2, extended=TRUE)sqrt( diag( vmod2b))attr( vmod2b,"coef")# attach standard errors to parameter tablepartable2 <- mod2$partable
partable2 <- partable2[! duplicated( partable2$parnames ),]partable2 <- data.frame( partable2,"se"=sqrt( diag( vmod2b)))partable2
# confidence interval for parameter "skill1" which is not in the model# cannot be calculated!confint(mod2, parm=c("skill1","all_guess"))# confidence interval for only some parametersconfint(mod2, parm=paste0("prob_skill",1:3))# compute only information matrixinfomod2 <- vcov(mod2, infomat=TRUE)## End(Not run)