Learn R Programming

CDM (version 7.4-19)

cdi.kli: Cognitive Diagnostic Indices based on Kullback-Leibler Information

Description

This function computes several cognitive diagnostic indices grounded on the Kullback-Leibler information (Rupp, Henson & Templin, 2009, Ch. 13) at the test, item, attribute and item-attribute level. See Henson and Douglas (2005) and Henson, Roussos, Douglas and He (2008) for more details.

Usage

cdi.kli(object)

# S3 method for cdi.kli summary(object, digits=2, …)

Arguments

object

Object of class din or gdina. For the summary method, it is the result of cdi.kli.

digits

Number of digits for rounding

Further arguments to be passed

Value

A list with following entries

test_disc

Test discrimination which is the sum of all global item discrimination indices

attr_disc

Attribute discriminations

glob_item_disc

Global item discriminations (Cognitive diagnostic index)

attr_item_disc

Attribute-specific item discrimination

KLI

Array with Kullback-Leibler informations of all items (first dimension) and skill classes (in the second and third dimension)

skillclasses

Matrix containing all used skill classes in the model

hdist

Matrix containing Hamming distance between skill classes

pjk

Used probabilities

q.matrix

Used Q-matrix

summary

Data frame with test- and item-specific discrimination statistics

References

Henson, R., DiBello, L., & Stout, B. (2018). A generalized approach to defining item discrimination for DCMs. Measurement: Interdisciplinary Research and Perspectives, 16(1), 18-29. http://dx.doi.org/10.1080/15366367.2018.1436855

Henson, R., & Douglas, J. (2005). Test construction for cognitive diagnosis. Applied Psychological Measurement, 29, 262-277. http://dx.doi.org/10.1177/0146621604272623

Henson, R., Roussos, L., Douglas, J., & He, X. (2008). Cognitive diagnostic attribute-level discrimination indices. Applied Psychological Measurement, 32, 275-288. http://dx.doi.org/10.1177/0146621607302478

Rupp, A. A., Templin, J., & Henson, R. A. (2010). Diagnostic Measurement: Theory, Methods, and Applications. New York: The Guilford Press.

See Also

See discrim.index for computing discrimination indices at the probability metric.

See Henson, DiBello and Stout (2018) for an overview of different discrimination indices.

Examples

Run this code
# NOT RUN {
#############################################################################
# EXAMPLE 1: Examples based on CDM::sim.dina
#############################################################################

data(sim.dina, package="CDM")
data(sim.qmatrix, package="CDM")

mod <- CDM::din( sim.dina, q.matrix=sim.qmatrix )
summary(mod)
  ##  Item parameters
  ##         item guess  slip   IDI rmsea
  ##  Item1 Item1 0.086 0.210 0.704 0.014
  ##  Item2 Item2 0.109 0.239 0.652 0.034
  ##  Item3 Item3 0.129 0.185 0.686 0.028
  ##  Item4 Item4 0.226 0.218 0.556 0.019
  ##  Item5 Item5 0.059 0.000 0.941 0.002
  ##  Item6 Item6 0.248 0.500 0.252 0.036
  ##  Item7 Item7 0.243 0.489 0.268 0.041
  ##  Item8 Item8 0.278 0.125 0.597 0.109
  ##  Item9 Item9 0.317 0.027 0.656 0.065

cmod <- CDM::cdi.kli( mod )

# attribute discrimination indices
round( cmod$attr_disc, 3 )
  ##      V1     V2     V3
  ##   1.966  2.506 11.169

# look at global item discrimination indices
round( cmod$glob_item_disc, 3 )
  ##  > round( cmod$glob_item_disc, 3 )
  ##  Item1 Item2 Item3 Item4 Item5 Item6 Item7 Item8 Item9
  ##  0.594 0.486 0.533 0.465 5.913 0.093 0.040 0.397 0.656

# correlation of IDI and global item discrimination
stats::cor( cmod$glob_item_disc, mod$IDI )
  ##  [1] 0.6927274

# attribute-specific item indices
round( cmod$attr_item_disc, 3 )
  ##           V1    V2    V3
  ##  Item1 0.648 0.648 0.000
  ##  Item2 0.000 0.530 0.530
  ##  Item3 0.581 0.000 0.581
  ##  Item4 0.697 0.000 0.000
  ##  Item5 0.000 0.000 8.870
  ##  Item6 0.000 0.140 0.000
  ##  Item7 0.040 0.040 0.040
  ##  Item8 0.000 0.433 0.433
  ##  Item9 0.000 0.715 0.715

## Note that attributes with a zero entry for an item
## do not differ from zero for the attribute specific item index
# }

Run the code above in your browser using DataLab