Title: | Multidimensional Adaptive Testing |
---|---|
Description: | Simulates Multidimensional Adaptive Testing using the multidimensional three-parameter logistic model as described in Segall (1996) <doi:10.1007/BF02294343>, van der Linden (1999) <doi:10.3102/10769986024004398>, Reckase (2009) <doi:10.1007/978-0-387-89976-3>, and Mulder & van der Linden (2009) <doi:10.1007/s11336-008-9097-5>. |
Authors: | Seung W. Choi and David R. King |
Maintainer: | Seung W. Choi <[email protected]> |
License: | GPL (>= 2.10) |
Version: | 2.3.2 |
Built: | 2024-10-30 06:49:58 UTC |
Source: | CRAN |
MAT is a package to simulate Multidimensional Adaptive Testing (MAT) for the Multidimensional 3-Parameter Logistic (M3PL) Model as described in Segall (1996), Reckase (2009), and Mulder & van der Linden (2009).
Seung W. Choi and David R. King
Maintainer: Seung W. Choi <[email protected]>
Choi, S. W., & King, D. R. (2015). R Package MAT: Simulation of multidimensional adaptive testing for dichotomous IRT models. Applied Psychological Measurement, 39(3), 239-240.
Segall, D. O. (1996). Multidimensional adaptive testing, Psychometrika, 61(2), 331-354
van der Linden, W. J. (1999). Multidimensional adaptive testing with a minimum error-variance criterion, Journal of Educational and Behavioral Statistics, 24(4), 398-412.
Mulder, J., & van der Linden, W. J. (2009). Multidimensional adaptive testing with optimal design criteria for item selection, Psychometrika, 74(2), 273-296.
Reckase, M. D. (2009). Multidimensional Item Response Theory. New York: Springer.
#load sample item parameters containing 180 items measuring three dimensions data(sample.ipar) #create a variance-covariance (correlation) matrix vcv1<-diag(3); vcv1[lower.tri(vcv1,diag=FALSE)]<-c(.5,.6,.7) #simulate item responses resp1<-simM3PL(sample.ipar, vcv1, 3, n.simulee = 100)$resp #specify target content distributions target.content.dist1<-c(1/3,1/3,1/3) #content category designations for items content.cat1<-rep(1:3,rep(60,3)) #simulate multidimensional adaptive testing MCAT.1<-MAT(sample.ipar, resp1, vcv1, target.content.dist=target.content.dist1, content.cat=content.cat1, ncc=3, p=3, selectionMethod="A", topN=1, selectionType="FISHER", stoppingCriterion="CONJUNCTIVE", minNI=10, maxNI=30)
#load sample item parameters containing 180 items measuring three dimensions data(sample.ipar) #create a variance-covariance (correlation) matrix vcv1<-diag(3); vcv1[lower.tri(vcv1,diag=FALSE)]<-c(.5,.6,.7) #simulate item responses resp1<-simM3PL(sample.ipar, vcv1, 3, n.simulee = 100)$resp #specify target content distributions target.content.dist1<-c(1/3,1/3,1/3) #content category designations for items content.cat1<-rep(1:3,rep(60,3)) #simulate multidimensional adaptive testing MCAT.1<-MAT(sample.ipar, resp1, vcv1, target.content.dist=target.content.dist1, content.cat=content.cat1, ncc=3, p=3, selectionMethod="A", topN=1, selectionType="FISHER", stoppingCriterion="CONJUNCTIVE", minNI=10, maxNI=30)
MAT is a package to simulate multidimensional adaptive testing for the Multidimensional 3-Parameter Logistic (M3PL) model.
MAT(ipar, resp, cors, target.content.dist = NULL, content.cat = NULL, ncc = 1, content.order = NULL, p = stop("p is required"), selectionMethod = c("D", "A", "C", "R"), selectionType = c("FISHER", "BAYESIAN"), c.weights = NA, stoppingCriterion = c("CONJUNCTIVE", "COMPENSATORY"), topN = 1, minNI = 10, maxNI = 30, minSE = 0.3, D = 1, maxIter = 30, conv = 0.001, minTheta = -4, maxTheta = 4, plot.audit.trail = TRUE, theta.labels = NULL, easiness = TRUE)
MAT(ipar, resp, cors, target.content.dist = NULL, content.cat = NULL, ncc = 1, content.order = NULL, p = stop("p is required"), selectionMethod = c("D", "A", "C", "R"), selectionType = c("FISHER", "BAYESIAN"), c.weights = NA, stoppingCriterion = c("CONJUNCTIVE", "COMPENSATORY"), topN = 1, minNI = 10, maxNI = 30, minSE = 0.3, D = 1, maxIter = 30, conv = 0.001, minTheta = -4, maxTheta = 4, plot.audit.trail = TRUE, theta.labels = NULL, easiness = TRUE)
ipar |
a data frame containing M3PL item parameters, specifically a1, a2, ... , d, and c |
resp |
a data frame (that will be converted to a numeric matrix) of item responses, e.g., R1, R2, ..., R180 |
cors |
a square matrix of the lower diagonal elements of a variance-covariance (VCV) matrix, including 1's in the main diagonal |
target.content.dist |
an optional vector of target content distributions summed to 1.0, e.g., c(0.25,0.5,0.25) |
content.cat |
an optional vector specifying content designations |
ncc |
the number of content categories (default=1, i.e., no content balancing) |
content.order |
an optional vector specifying administration order of content categories, e.g., c(3,1,2) |
p |
the number of latent dimensions |
selectionMethod |
item selection criterion: "D"=D-optimality, "A"=A-optimality, "C"=C-optimality, "R"=Random (default="D") |
selectionType |
item selection method type: "FISHER"=Fisher information, "BAYESIAN"=adds inverse prior VCV |
c.weights |
an optional vector of weights of length p when selectionMethod="C" |
stoppingCriterion |
stopping criterion: "CONJUNCTIVE"=SEs for all dimensions must be met, "COMPENSATORY"=the generalized variance or SEs weighted by c-weights must be met |
topN |
Randomesque exposure control: selects an item randomly from the top N most informative items (default=1, no exposure control) |
minNI |
minimum number of items to administer (default=10) |
maxNI |
maximum number of items to administer (default=30) |
minSE |
minimum SE for stopping (default=0.3) |
D |
scaling constant: 1.7 or 1.0 (default=1.0) |
maxIter |
maximum number of Fisher scoring (default=30) |
conv |
convergence criterion for Fisher scoring (default=0.001) |
minTheta |
minimum theta value for plotting (default=-4) |
maxTheta |
maximum theta value for plotting (default=4) |
plot.audit.trail |
show CAT audit trail: T or F (default=T) |
theta.labels |
theta labels for plotting (default=c("Theta 1","Theta 2",...)) |
easiness |
logical, T if d is related to the easiness of items per Reckase, F otherwise |
The purpose of this function is to simulate multidimensional adaptive testing based on the Multidimensional 3-Parameter Logistic (M3PL) model (Reckase, 2009):
where is a vector of discrimination parameters of item i,
is a vector of abilities,
is a scalar representing the
guessing parameter of item i,
is a scalar representing the easiness of item i.
Thetas are estimated using the Bayesian maximum a posteriori (MAP) estimator and the Fisher scoring method. Three item
selection criteria are available: D-optimality, A-optimality, and C-optimality (Segall, 1996; van der Linden, 1999;
Mulder & van der Linden, 2009). An option is provided to add the inverse of a prior variance-covariance
matrix to the multivariate information matrix (selectionType="BAYESIAN"). The stopping condition can be specified as a conjunctive criterion or a compensatory
criterion. Content balancing can be imposed by specifying target content distributions. An exposure control option is
provided via the randomesque technique.
Returns a list of class "MAT" with the following components:
call |
function call stack |
items.used |
a matrix of items administered |
selected.item.resp |
a matrix containing item responses for selected items |
ni.administered |
a vector of the number of items administered |
theta.CAT |
a matrix of theta estimates from CAT |
se.CAT |
a matrix of SE estimates from CAT |
theta.history |
a matrix of theta history from CAT |
se.history |
a matrix of SE history from CAT |
theta.Full |
a matrix of theta estimates based on the full bank |
se.Full |
a matrix of SE estimates based on the full bank |
ipar |
a matrix of item parameters |
p |
the number of latent dimensions |
The MAT function performs a number of checks to determine if the arguments for content balancing and content ordering have been specified correctly. If the arguments have not been specified correctly, content balancing and/or content ordering will not be used for the simulation. Additionally, a warning message will be printed to the console detailing the misspecification.
Content ordering is only available for fixed-length CAT. Namely, to invoke a particular content order, the user must set the minimum number of items equal to the maximum number of items (e.g., minNI=30 & maxNI=30).
requires MASS
Seung W. Choi and David R. King
Segall, D. O. (1996). Multidimensional adaptive testing, Psychometrika, 61(2), 331-354
van der Linden, W. J. (1999). Multidimensional adaptive testing with a minimum error-variance criterion, Journal of Educational and Behavioral Statistics, 24(4), 398-412.
Mulder, J., & van der Linden, W. J. (2009). Multidimensional adaptive testing with optimal design criteria for item selection, Psychometrika, 74(2), 273-296.
Reckase, M. D. (2009). Multidimensional Item Response Theory. New York: Springer.
## Not run: MCAT.1<-MAT(ipar1, resp1, vcv1, target.content.dist=target.content.dist1, content.cat=content.cat1, ncc=3, p=3, selectionMethod="A", topN=1, selectionType="FISHER", stoppingCriterion="CONJUNCTIVE", minNI=10, maxNI=30) ## End(Not run)
## Not run: MCAT.1<-MAT(ipar1, resp1, vcv1, target.content.dist=target.content.dist1, content.cat=content.cat1, ncc=3, p=3, selectionMethod="A", topN=1, selectionType="FISHER", stoppingCriterion="CONJUNCTIVE", minNI=10, maxNI=30) ## End(Not run)
A sample item parameter file containing 180 Multidimensional 3-PL (M3PL) model.
data(sample.ipar)
data(sample.ipar)
A data frame with item parameters for 180 items.
a1
the discrimination parameter for theta 1
a2
the discrimination parameter for theta 2
a3
the discrimination parameter for theta 3
d
the easiness parameter, d=-a*b
c
the guessing parameter
First 60 items are primarily loaded on theta 1, second 60 on theta 2, and last 60 on theta 3.
data(sample.ipar)
data(sample.ipar)
Simulates item responses according to the Multidimensional 3-Parameter Logistic (M3PL) model
simM3PL(ipar, cors, p, n.simulee = 100, D = 1, easiness = T, seed = NULL)
simM3PL(ipar, cors, p, n.simulee = 100, D = 1, easiness = T, seed = NULL)
ipar |
a data frame containing M3PL item parameters, specifically a1, a2, ... , d, and c |
cors |
a square matrix of the lower diagonal elements of a variance-covariance (VCV) matrix, including 1's in the main diagonal |
p |
the number of latent dimensions |
n.simulee |
the number of simulees to generate |
D |
scaling constant: 1.7 or 1.0 (default=1.0) |
easiness |
logical, T if d is related to the easiness of items per Reckase, F otherwise |
seed |
random number seed |
This function simulates item responses according to the Multidimensional 3-Parameter Logistic (M3PL) model using the item parameters input to the function. Thetas are drawn from the multivariate standard normal distribution with the population variance-covariance (correlation) matrix input to the function.
call |
function call stack |
theta |
a n.simulee by p matrix of true theta values |
resp |
a data frame of simulated item responses named "R1", "R2", ... |
Seung W. Choi
Reckase, M. D. (2009). Multidimensional Item Response Theory. New York: Springer.
data(sample.ipar) vcv1<-diag(3) vcv1[lower.tri(vcv1,diag=FALSE)]<-c(.5,.6,.7) resp1<-simM3PL(sample.ipar, vcv1, 3, n.simulee = 100, seed = 1234)$resp
data(sample.ipar) vcv1<-diag(3) vcv1[lower.tri(vcv1,diag=FALSE)]<-c(.5,.6,.7) resp1<-simM3PL(sample.ipar, vcv1, 3, n.simulee = 100, seed = 1234)$resp