| simIPD | R Documentation |
A simulated dataset designed to illustrate the use of the ripd
function for detecting item parameter drift (IPD) in computerized adaptive
testing (CAT). The dataset represents one replication of a CAT-based IPD
simulation study in which 5% of a 360-item pool (18 items) had both their
discrimination (a) and difficulty (b) parameters drift
downward by 0.5, under a 30-item adaptive test where all focal group
examinees were exposed to the drifted items (100% exposure rate).
The data reflect a workflow of IPD detection using the residual-based IPD (RIPD) framework (Lim & Han, in press): a focal group of examinees takes a CAT using a drifted item pool, and a synthetic reference group is created by re-running the CAT with the focal group's ability estimates as true abilities but with the original (non-drifted) item parameters. RIPD statistics are then used to detect which items have drifted between the two groups.
simIPD
A named list with eight elements:
A data frame with 360 rows and 6 columns containing the
original (pre-drift) item parameters in irtQ format
(columns: id, cats, model, par.1,
par.2, par.3). All items follow the 3PLM.
An integer vector of length 90 giving the row indices
(in item_par) of the key items - items selected by a
preliminary CAT simulation as highly exposed and therefore most relevant
for IPD analysis.
An integer vector of length 270 giving the row indices of
non-key items that should be excluded from RIPD analysis
(i.e., the complement of key_item in 1:360).
Pass this vector to the item.skip argument of ripd().
An integer vector of length 18 giving the row indices of
items that were subjected to IPD manipulation. These 18 items (5% of
the 360-item pool) had both their discrimination (a) and difficulty
(b) parameters decreased by 0.5. All 18 items are members of
key_item.
An integer matrix of dimensions 3000 x 360 containing the
focal group CAT response data. Each row is one examinee; each
column corresponds to an item in item_par. Because CAT
administers only 30 items per examinee, approximately 92% of entries
are NA. Responses were generated using the drifted item
parameters (all focal examinees were exposed to IPD items;
exposure rate = 100%).
A numeric vector of length 3000 containing the focal group final maximum likelihood (ML) theta estimates obtained from the CAT.
An integer matrix of dimensions 3000 x 360 containing the
synthetic reference group CAT response data (same sparsity
structure as foc_resp). The reference group was constructed by:
(1) using foc_score as true ability values (1F scaling, i.e.,
the reference group has the same size as the focal group);
(2) generating item responses from the original (non-drifted)
item parameters; and (3) running an independent CAT simulation.
This synthetic reference group mirrors the construction described in
Lim & Han (in press).
A numeric vector of length 3000 containing the synthetic reference group final ML theta estimates.
Simulation conditions:
Item pool: 360 three-parameter logistic model (3PLM) items
Test length: 30 items per examinee
Item selection: Maximum Fisher Information (MFI) with target exposure rate 0.30
Focal group: n = 3{,}000; true abilities drawn from
N(0, 1)
Reference group: n = 3{,}000 (1F); true abilities =
foc_score
IPD items: 18 (5% of 360), randomly drawn from key_item
IPD manipulation: both a and b decreased by 0.50
Interim scoring: EAP; final scoring: ML
Scaling constant: D = 1.7
Random seed: 2024
Note on reference group size:
A 1F reference group (same size as the focal group) is used here for
compactness. In practice, larger synthetic reference groups (e.g., 3F - 8F)
are recommended to improve RIPD detection power (Lim & Han, in press).
A larger reference group can be created by replicating the focal theta
estimates: e.g., rep(foc_score, times = 3) for a 3F group, then
re-running the CAT simulation with the original item parameters.
Lim, H., & Han, K. T. (in press). IRT residual-based approach to detecting item parameter drift in CAT. Journal of Educational and Behavioral Statistics.
ripd, pcd2, simCAT_DC, simCAT_MX
data(simIPD)
str(simIPD, max.level = 1)
# Item parameter data frame (first 6 rows)
head(simIPD$item_par)
# Focal group response matrix (sparse)
dim(simIPD$foc_resp)
mean(is.na(simIPD$foc_resp)) # ~0.92 (92% NA due to CAT)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.