Learn R Programming

catR (version 2.2)

nextItem: Selection of the next item

Description

This command selects the next item to be administered, given the list of previously administered items and the current ability estimate, with several possible criteria. Item exposure and content balancing can also be controlled.

Usage

nextItem(itemBank, theta, out=NULL, x=NULL, criterion="MFI",
 	method="BM", priorDist="norm", priorPar=c(0,1), D=1,
 	range=c(-4,4), parInt=c(-4,4,33), infoType="observed",
 	randomesque=1, cbControl=NULL)

Arguments

itemBank
an item bank of class itBank as output of the function createItemBank.
theta
numeric: the current value of the ability estimate (default is 0).
out
either a vector of integer values specifying the items previously administered, or NULL (default).
x
numeric: the provisional response pattern, with the same length as out (and NULL by default). Ignored if method is either "MFI" or "Owen". See Details.
criterion
character: the method for next item selection. Possible values are "MFI" (default), "Urry" "MLWI", "MPWI", "MEI", "MEPV" and random. See Details<
method
character: the ability estimator. Possible values are "BM" (default), "ML" and "WL". See Details.
priorDist
character: the prior ability distribution. Possible values are "norm" (default) for the normal distribution, and "unif" for the uniform distribution. Ignored if type is not "MPWI".
priorPar
numeric: a vector of two components with the prior parameters. If priorDist is "norm", then priorPar contains the mean and the standard deviation of the normal distribution. If priorDist
D
numeric: the metric constant. Default is D=1 (for logistic metric); D=1.702 yields approximately the normal metric (Haley, 1952).
range
numeric: vector of two components specifying the range wherein the ability estimate must be looked for (default is c(-4,4)). Ignored if method=="EAP".
parInt
numeric: a vector of three numeric values, specifying respectively the lower bound, the upper bound and the number of quadrature points for numerical integration (default is c(-4,4,33)). Ignored if method is eithe
infoType
character: the type of information function to be used. Possible values are "observed" (default) for observed information function, and "Fisher" for Fisher information function. Ignored if criterion
randomesque
integer: the number of items to be chosen from the next item selection rule, among those the next item to be administered will be randomly picked up. Default value is 1 and leads to usual selection of the optimal item for the specified
cbControl
either a list of accurate format to control for content balancing, or NULL. See Details.

Value

  • A list with eight arguments:
  • itemthe selected item (identified by its number in the item bank).
  • parthe vector of item parameters of the selected item.
  • infothe value of the MFI, Fisher's information, the MLWI, the MPWI, the MEI, the EPV,or NA (for "random" criterion) for the selected item and the current ability estimate.
  • criterionthe value of the criterion argument.
  • randomesquethe value of the randomesque argument.
  • prior.propa vector with empirical proportions of items previously administered for each subgroup of items set by cbControl.
  • post.propa vector with empirical proportions of items previously administered, together with the one currently selected, for each subgroup of items set by cbControl.
  • th.propa vector with theoretical proportions given by cbControl$props.

code

cbControl$props

Details

Currently seven methods are available for selecting the next item to be administered in the adaptive test. For a given current ability estimate, the next item is selected (among the available items) by using: the maximum Fisher information (MFI) criterion, the maximum likelihood weighted information (MLWI) (Veerkamp and Berger, 1997), the maximum posterior weighted information (MPWI) (van der Linden, 1998), Urry's procedure (Urry, 1970), the maximum expected information (MEI) criterion (van der Linden, 1998), the minimum expected posterior variance (MEPV) or by selecting the next item completely randomly among the available items. The MFI criterion selects the next item as the one which maximizes the item information function (Baker, 1992). The most informative item is selected from the table of item informations provided by the bank of items specified with itemBank. Urry's procedure consists in selecting as next the item whose difficulty level is closest to the current ability estimate. Under the 1PL model, both Urry and MFI methods are equivalent. The MLWI and MPWI criteria select the next item as the one with maximal information, weighted either by the likelihood function or the posterior distribution. See the function MWI for further details. Finally, the MEI criterion selects the item with maximum expected information, computed with the MEI function. The method for next item selection is specified by the criterion argument. Possible values are "MFI" for maximum Fisher information criterion, "Urry" for Owen's method, "MLWI" for maximum likelihood weighted information criterion, "MPWI" for the maximum posterior weighted information criterion, "MEI" for the maximum expected information criterion, "MEPV" for minimum expected posterior variance, and "random" for random selection. Other values return an error message. For MFI, MEI and Urry criteria, the provisional ability estimate must be supplied throught the theta argument (by default, it is equal to zero). For MLWI and MPWI criteria, this argument is ignored. The available items are those that are not specified in the out argument. By default, out is NULL, which means that all items are available. For MEI, MEPV, MLWI and MPWI methods, the provisional response pattern must be provided through the x argument. It must be of 0/1 entries and of the same length as the out argument. It is ignored with MFI and Urry criteria. Moreover, the range of integration (or posterior variance computation) is specified by the triplet parInt, where the first, second, and third value correspond to the arguments lower, upper and nqp of the MWI function, respectively. The method, priorDist, priorPar, D, range and intPar arguments fix the ability estimator. See the thetaEst function for further details. Finally, for MEI criterion, the type of information function must be supplied through the infoType argument. It is equal to "observed" by default, which refers to the observed information function, and the other possible value is "Fisher" for Fisher information function. See the MEI funtion for further details. This argumpent is ignored if criterion is not "MEI". Item exposure can be controlled by using the so-called randomesque approach (Kingsbury an Zara, 1989), which consists in selecting more than one item as the best items to be administered (according to the specified criterion). The final item that is administered is randomly chosen among this set of optimal items. The argument randomesque controls for the number of optimal items to be selected. The default value is 1, which corresponds to the usual framework of selecting the optimal item for next administration. Note that, for compatibility issues, if the number of remaining items is smaller than randomesque, the latter is replaced by this number of remaining items. Control for content balancing is also possible, given two conditions: (a) the item bank set by itemBank holds as element $cbGroup the names of the subgroups of items for content balancing, and (b) the argument cbControl is a correctly specified list. The correct format for cbControl is a list with two elements. The first one is called names and holds the names of the subgroups of items (in the order that is prespecified by the user). The second element is called props and contains the (theoretical) proportions of items to be administered from eazch subgroup for content balancing. These proportions must be strictly positive but may not sum to one; in this case they are internally normalized to sum to one. Note that if cbControl is misspecified, then the test.cbList will return a warning message and the nextItem function will stop. Under content balancing, the selection of the next item is done in several steps.
  1. If no item was administered yet, one subgroup is randomly picked up and the optimal item from this subgroup is selected.
If at least one subgroup wasn't targeted yet by item selection, one of these subgroups is randomly picked up and the optimal item from this subgroup is selected. If at least one item per subgroup was already administered, the empirical relative proportions of items administered per subgroup are computed, and the subgroup(s) whose difference between empirical and theoretical (i.e. given by cbControl$props) proportions is (are) selected. The optimal item is then selected from this subgroup for next administration (in case of several such groups, one group is randomly picked up first).

References

Baker, F.B. (1992). Item response theory: parameter estimation techniques. New York, NY: Marcel Dekker. Choi, S. W., and Swartz, R. J. (2009). Comparison of CAT item selection criteria for polytomous items. Applied PScyhological Measurement, 32, 419-440. Kingsbury, G. G., and Zara, A. R. (1989). Procedures for selecting items for computerized adaptive tests. Applied Measurement in Education, 2, 359-375. Magis, D., and Raiche, G. (in press). Random generation of response patterns under computerized adaptive testing with the R package catR. Journal of Statistical Software. Urry, V. W. (1970). A Monte Carlo investigation of logistic test models. Unpublished doctoral dissertation. West Lafayette, IN: Purdue University. van der Linden, W. J. (1998). Bayesian item selection criteria for adaptive testing. Psychometrika, 63, 201-216. van der Linden, W. J., and Pashley, P. J. (2000). Item selection and ability estimlation in adaptive testing. In W. J. van der Linden and C. A. W. Glas (Eds.), Computerized adaptive testing. Theory and practice (pp. 1-25). Boston, MA: Kluwer. Veerkamp, W. J. J., and Berger, M. P. F. (1997). Some new item selection criteria for adaptive testing. Journal of Educational and Behavioral Statistics, 22, 203-226.

See Also

createItemBank, MWI, MEI, thetaEst, test.cbList, randomCAT

Examples

Run this code
# Loading the 'tcals' parameters 
 data(tcals)
 
 # Item bank creation with 'tcals' item parameters
 bank <- createItemBank(tcals)

 ## MFI criterion

 # Selecting the next item, current ability estimate is 0
 nextItem(bank, 0) # item 63 is selected

 # Selecting the next item, current ability estimate is 0
 # and item 63 is removed
 nextItem(bank, 0, out=63) # item 10 is selected

 # Selecting the next item, current ability estimate is 0
 # and items 63 and 10 are removed
 nextItem(bank, 0, out=c(63,10)) # item 62 is selected

 # Item exposure control by selecting three items
 # (selected item will be either 10, 62 or 63)
 nextItem(bank, 0, randomesque = 3)

 ## Urry's method

 # Selecting the next item, current ability estimate is 0
 nextItem(bank, 0, criterion="Urry") # item 24 is selected

 # Selecting the next item, current ability estimate is 0
 # and item 24 is removed
 nextItem(bank, 0, out=24, criterion="Urry")
 
 ## MLWI and MPWI methods

 # Selecting the next item, current response pattern is 0
 # and item 63 was administered first
 nextItem(bank, x=0, out=63, criterion="MLWI") 
 nextItem(bank, x=0, out=63, criterion="MPWI")

 # Selecting the next item, current response pattern is
 # (0,1) and item 19 is removed
 nextItem(bank, x=c(0,1), out=c(63, 19), criterion="MLWI")
 nextItem(bank, x=c(0,1), out=c(63, 19), criterion="MPWI")

 ## MEI method

 # Selecting the next item, current response pattern is 0
 # and item 63 was administered first
 nextItem(bank, x=0, out=63, criterion="MEI") 

 # With Fisher information
 nextItem(bank, x=0, out=63, criterion="MEI", infoType="Fisher")

 ## MEPV method

 # Selecting the next item, current response pattern is 0
 # and item 63 was administered first
 nextItem(bank, x=0, out=63, criterion="MEPV") 

 ## Random method

 # Selecting the next item, item 63 was administered first
 nextItem(bank, out=63, criterion="random") 
 nextItem(bank, out=63, criterion="random")  # may produce a 
                                             # different result

 # Item bank creation for content balancing
 bank2 <- createItemBank(tcals, cb=TRUE)

 # Creation of the 'cbList' list with arbitrary proportions
 cbList <- list(names=c("Audio1","Audio2","Written1","Written2",
                "Written3"), props=c(0.1,0.2,0.2,0.2,0.3))

 # Selecting the next item, MFI criterion, current ability 
 # estimate is 0, items 12,33,46 and 63 previously administered
 nextItem(bank2, 0, out=c(12,33,46,63), cbControl=cbList) 
                                        # item 70 is selected

Run the code above in your browser using DataLab