simCAT {simCAT}R Documentation

CAT simulation

Description

A CAT simulation with dichotomous items.

Usage

simCAT(
  resps,
  bank,
  model = "3PL",
  start.theta = 0,
  sel.method = "MFI",
  cat.type = "variable",
  acceleration = 1,
  met.weight = "mcclarty",
  threshold = 0.3,
  rmax = 1,
  content.names = NULL,
  content.props = NULL,
  content.items = NULL,
  met.content = "MCCAT",
  stop = list(se = 0.3, hypo = 0.015, hyper = Inf),
  progress = TRUE
)

Arguments

resps

a matrix with responses (0 and 1). The number of columns corresponds to the number of items

bank

matrix with item parameters (a, b, c)

model

may be ⁠3PL⁠ or graded

start.theta

first theta

sel.method

item selection method: may be MFI, progressive or random

cat.type

CAT with variable or fixed length Necessary only for progressive method.

acceleration

acceleration parameter. Necessary only for progressive method.

met.weight

the procedure to calculate the progressive's weight in variable-length CAT. It can be "magis" or "mcclarty" (default). See details.

threshold

threshold for cat.type. Necessary only for progressive method.

rmax

item maximum exposure rate

content.names

vector with the contents of the test

content.props

desirable proportion of each content in test, in the same order of content.names

content.items

vector indicating the content of each item

met.content

content balancing method: MCCAT (default), CCAT #' or MMM. See content.balancing for more information.

stop

list with stopping rule and thresholds

  • se minimum standard error

  • delta.theta minimum absolute difference between current and previous theta

  • hypo minimum standard error reduction

  • hyper minimum standard error reduction after achieving se

  • info maximum information of an available item

  • max.items maximum number of items

  • min.items maximum number of items

  • fixed fixed number of items

progress

shows progress bar

Details

For details about formula of selection methods, see select.item.

Value

a list with five elements

Author(s)

Alexandre Jaloto

References

Barrada, J. R., Olea, J., Ponsoda, V., & Abad, F. J. (2008). Incorporating randomness in the Fisher information for improving item-exposure control in CATs. British Journal of Mathematical and Statistical Psychology, 61(2), 493–513. 10.1348/000711007X230937

Leroux, A. J., & Dodd, B. G. (2016). A comparison of exposure control procedures in CATs using the GPC model. The Journal of Experimental Education, 84(4), 666–685. 10.1080/00220973.2015.1099511

Magis, D., & Barrada, J. R. (2017). Computerized adaptive testing with R: recent updates of the package catR. Journal of Statistical Software, 76(Code Snippet 1). 10.18637/jss.v076.c01

McClarty, K. L., Sperling, R. A., & Dodd, B. G. (2006). A variant of the progressive-restricted item exposure control procedure in computerized adaptive testing. Annual Meeting of the American Educational Research Association, San Francisco

Examples



set.seed(1)
n.items <- 50
pars <- data.frame(
 a = rlnorm(n.items),
 b = rnorm(n.items),
 c = rbeta(n.items, 5, 17),
 d = 1)

# thetas
theta <- rnorm(100)

# simulate responses
resps <- gen.resp(theta, pars[,1:3])

results <- simCAT(resps = resps,
 bank = pars[,1:3],
 start.theta = 0,
 sel.method = 'MFI',
 cat.type = 'variable',
 threshold = .3,
 stop = list(se = .3, max.items = 10))

eval <- cat.evaluation(
 results = results,
 true.scores = theta,
 item.name = paste0('I', 1:nrow(pars)),
 rmax = 1)

#### 3 replications
replications <- 3

# simulate responses
set.seed(1)
resps <- list()
for(i in 1:replications)
 resps[[i]] <- gen.resp(theta, pars[,1:3])

# CAT
results <- list()
for (rep in 1:replications)
{
 print(paste0('replication: ', rep, '/', replications))
 results[[rep]] <- simCAT(
  resps = resps[[rep]],
  bank = pars[,1:3],
  start.theta = 0,
  sel.method = 'MFI',
  cat.type = 'variable',
  threshold = .3,
  stop = list(se = .5, max.items = 10))
}

eval <- cat.evaluation(
 results = results,
 true.scores = theta,
 item.name = paste0('I', 1:nrow(pars)),
 rmax = 1)



[Package simCAT version 1.0.0 Index]