| cat.evaluation {simCAT} | R Documentation |
CAT Evaluation
Description
Evaluate a CAT simulation
Usage
cat.evaluation(results, true.scores, item.name, rmax)
Arguments
results |
list with results of a CAT simulation from |
true.scores |
true scores |
item.name |
vector with the name of all items in the bank |
rmax |
item maximum exposure rate |
Value
a list with two elements.
evaluate is a data.frame. Each line corresponds to a replication,
and the columns are the following variables:
-
rmseroot mean square error between true and estimated score -
sestandard error of measurement -
correlationcorrelation between true and estimated score -
biasbias between true and estimated score -
overlapoverlap rate -
min_expminimum exposure rate -
max_expmaximum exposure rate -
n_exp0number of items not administered -
n_exp_rmaxnumber of items with exposure rate higher than rmax -
length_meanaverage mean of test length -
length_sdstandard deviation of test length -
length_medianaverage median of test length -
min_lengthminimum test length -
max_lengthmaximum test length
conditional is a data.frame with the same variables (except
for length_sd and length_median)
conditioned to the true scores. The colnames are the thetas
in each decile, that is,
quantile(true.scores, probs = seq(.1, 1, length.out = 10)). Each
line corresponds to the mean of the investigated variables for each
decile. If there are replications, values are the replication means
for each decile.
Author(s)
Alexandre Jaloto
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)