selectItem: Select Next Item

View source: R/RcppExports.R

selectItemR Documentation

Select Next Item

Description

Selects the next item in the question set to be administered to respondent based on the specified selection method.

Usage

selectItem(catObj)

Arguments

catObj

An object of class Cat

Details

Selection approach is specified in the selection slot of the Cat object.

The minimum expected posterior variance criterion is used when the selection slot is "EPV". This method calls expectedPV for each unasked item.

The maximum Fisher's information criterion is used when the selection slot is "MFI". This method calls fisherInf for each unasked item.

The maximum likelihood weighted information criterion is used when the selection slot is "MLWI". Note that when no questions have been answered, likelihood evaluates to 1. This method involves integration. See Note for more information.

The maximum posterior weighted information criterion is used when the selection slot is "MPWI". Note that when no questions have been answered, likelihood evaluates to 1. This method involves integration. See Note for more information.

The maximum expected information criterion is used when the selection slot is "MEI". This method calls expectedObsInf for each unasked item. **Not implemented for three parameter model for binary data.**

The maximum Kullback-Leibler information criterion is used when the selection slot is "KL". This method calls expectedKL for each unasked item. See expectedKL for more information.

The maximum likelihood weighted Kullback-Leibler information criterion is used when the selection slot is "LKL". This method calls likelihoodKL for each unasked item.

The maximum posterior weighted Kullback-Leibler information criterion is used when the selection slot is "PKL". This method calls posteriorKL for each unasked item.

The maximum Fisher interval information criterion is used when the selection slot is "MFII". This method involves integration. See Note for more information. The bounds of integration are \hat{θ} \pm δ, where δ is qnorm(z) times the square root of the Fisher test information and z is specified in the z slot of the Cat object.

A random number generator is used when the selection slot is "RANDOM".

Value

The function selectItem returns a list with three elements:

estimates: a data frame with a row for each unasked question and three columns representing the item index number, the item name, and the item value (calculated by the specified selection method), and

next_item: a numeric representing the index of the item that should be asked next.

next_item_name: a string representing the unique identifier of the item that should be asked next.

Note

This function is to allow users to access the internal functions of the package. During item selection, all calculations are done in compiled C++ code.

This function uses adaptive quadrature methods from the GNU Scientific Library (GSL) to approximate single-dimensional integrals with high accuracy. The bounds of integration are determined by the lowerBound and upperBound slots of the Cat object unless otherwise noted.

The "RANDOM" item selection criterion uses the package RcppArmadillo to randomly choose the next item among unasked questions. RcppArmadillo provides an exact reproduction of R's sample function that can be called from C++.

In the rare instance that item parameters are identical, it may be that that selectItem must choose between two items with the same value calculated by the selection criterion. In such an instance, selectItem will choose the item with the lower question index.

Author(s)

Haley Acevedo, Ryden Butler, Josh W. Cutler, Matt Malis, Jacob M. Montgomery, Tom Wilkinson, Erin Rossiter, Min Hee Seo, Alex Weil

References

van der Linden, Wim J. 1998. "Bayesian Item Selection Criteria for Adaptive Testing." Psychometrika 63(2):201-216.

Van der Linden, Wim J., and Peter J. Pashley. 2009. "Item Selection and Ability Estimation in Adaptive Testing." Elements of Adaptive Testing. Springer New York, 3-30.

Veldkamp, B.P., 2003. Item Selection in Polytomous CAT. In New Developments in Psychometrics (pp. 207-214). Springer Japan.

See Also

estimateTheta, expectedPV, fisherInf

Examples

## Loading ltm Cat object
data(ltm_cat)

## Store example answers
setAnswers(ltm_cat) <- c(1,0,1,0,1, rep(NA, 35))

## Set different selection criterion and choose next item
setSelection(ltm_cat) <- "EPV"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "MFI"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "MLWI"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "MPWI"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "MEI"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "KL"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "LKL"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "PKL"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "MFII"
selectItem(ltm_cat)

setSelection(ltm_cat) <- "RANDOM"
selectItem(ltm_cat)



erossiter/catSurv documentation built on Dec. 11, 2022, 6:36 p.m.