checkStopRule: Checking whether the stopping rule is satisfied

View source: R/checkStopRule.R

checkStopRuleR Documentation

Checking whether the stopping rule is satisfied

Description

This command tests whether one of the specified stopping rules is satisfied in order to stop the CAT.

Usage

checkStopRule(th, se, N, it = NULL, model = NULL, D = 1, stop)
 

Arguments

th

numeric: the current ability estimate.

se

numeric: the current standard error estimate.

N

numeric: the current number of administered items.

it

the matrix of parameters of currently available items (default is NULL). Ignored if element $rule of stop list does not hold the value "minInfo". See Details.

model

either NULL (default) for dichotomous models, or any suitable acronym for polytomous models. Possible values are "GRM", "MGRM", "PCM", "GPCM", "RSM" and "NRM". Ignored if element $rule of stop list does not hold the value "minInfo". See Details.

D

numeric: the metric constant. Default is D=1 (for logistic metric); D=1.702 yields approximately the normal metric (Haley, 1952). Ignored if model is not NULL or if element $rule of stop list does not hold the value "minInfo".

stop

a list with valuable element names and contents to set the stopping rule, as an input of the randomCAT or simulateRespondents functions.

Details

The checkStopRule function checks whether at least one of the stopping rules was satisfied at the current step of the CAT test process. It mainly serves as an internal application forrandomCAT function.

The stop list must be supplied accordingly to the requested list in the randomCAT() and in the simulateRespondents() functions.

Three input values must be supplied: th as the current ability estimate; se as the current standard error value related to th estimate; and N as the current test length (i.e., number of administered items). In addition, if the stop$rule vector holds the option "minInfo", three additional input value smust be supplied: it with the item parameters or all available items in the bank (i.e., previously administered items should not be set as input); model to specify the type of IRT model, either dichotomous or polytomous (see Pi fir further details); and possibly the scaling constant D set to one by default.

All stopping rules are being assessed and if at least one of them is satisfied, the output list will hold the vector of rules's nmaes that were satisfied through the rule argument). If none of the stopping rules were satisfied, this rule output argument is simply NULL.

Value

A list with two arguments:

decision

a logical value indicating whether at least one of the stopping rules was satisfied (TRUE) or not (FALSE).

rule

either a vector with the names of the stopping rules that were satisfied, or NULL if decision is FALSE.

Author(s)

David Magis
Department of Psychology, University of Liege, Belgium
david.magis@uliege.be

References

Haley, D.C. (1952). Estimation of the dosage mortality relationship when the dose is subject to error. Technical report no 15. Palo Alto, CA: Applied Mathematics and Statistics Laboratory, Stanford University.

Magis, D. and Barrada, J. R. (2017). Computerized Adaptive Testing with R: Recent Updates of the Package catR. Journal of Statistical Software, Code Snippets, 76(1), 1-18. doi: 10.18637/jss.v076.c01

Magis, D., and Raiche, G. (2012). Random Generation of Response Patterns under Computerized Adaptive Testing with the R Package catR. Journal of Statistical Software, 48 (8), 1-31. doi: 10.18637/jss.v048.i08

See Also

randomCAT, simulateRespondents, Pi

Examples


# Creation of a 'stop' list with two possible rules
 stop <- list(rule = c("length", "precision"), thr = c(20, 0.3))

# Example of successful 'length' rule
 checkStopRule(th = 0.35, se = 0.41, N = 20, stop = stop)

# Example of successful 'precision' rule
 checkStopRule(th = 0.35, se = 0.29, N = 15, stop = stop)

# Example of jointly successful 'length' and 'precision' rules
 checkStopRule(th = 0.35, se = 0.29, N = 20, stop = stop)

# Example without sucessfull rule
 checkStopRule(th = 0.35, se = 0.31, N = 18, stop = stop) 

# Creation of a short bank of available items under 2PL
 it <- genDichoMatrix(items = 5, model = "2PL", seed = 1)

# Computation of maximum information at ability level 0.35
maxI <- max(Ii(0.35, it)$Ii)

# Creation of a 'stop' list with four possible rules and too large threshold for 'minInfo'
 stop <- list(rule = c("length", "precision", "classification", "minInfo"), 
              thr = c(20, 0.3, 1, maxI-0.01), alpha = 0.05)

# Example with sucessfull 'classification' rule only
 checkStopRule(th = 0.35, se = 0.31, N = 18, it = it, stop = stop) 

# Creation of a 'stop' list with four possible rules and too large threshold for 'minInfo'
 stop <- list(rule = c("length", "precision", "classification", "minInfo"), 
              thr = c(20, 0.3, 1, maxI+0.01), alpha = 0.05)

# Example with sucessfull 'minInfo' rule only
 checkStopRule(th = 0.35, se = 0.55, N = 18, it = it, stop = stop) 


catR documentation built on June 24, 2022, 9:06 a.m.

Related to checkStopRule in catR...