Skip to contents

Maximum-information selection is optimal for measurement and terrible for item security. exposure applies a multiplicative control and information is returned for every candidate so the cost is visible. administered holds one-based indices; ties break on the lowest index.

Usage

Catnext(items, theta, administered = NULL, exposure = NULL, D = 1)

Arguments

items

Item parameters (a, b, c, d), one row per item.

theta

Current ability estimate.

administered

One-based indices already administered.

exposure

Per-item multiplier in [0, 1].

D

Scaling constant.

Value

List with next_item, information, weighted, max_information, n_available, J.

Details

Formula: I_j(theta) = dP^2 / (P (1 - P)) with P = c + (d - c) e/(1 + e), dP = D a e (d - c)/(1 + e)^2; choose argmax_j exposure_j I_j(theta) over unused j

References

Verified against the reference implementation in the CRAN package catR 3.17 (Magis & Raiche), functions Pi and Ii. catR implements the procedures of van der Linden & Glas (eds.), Elements of Adaptive Testing (2010), which this row cites; that volume was NOT obtainable, so the package source is used as the reference. Maximum-information selection is Birnbaum (1968); the exposure-control multiplier is the idea of Sympson & Hetter (1985), applied here in its simplest multiplicative form.

Examples

items <- matrix(c(1, 0, 0.2, 0.95, 1.2, -0.5, 0.1, 0.98, 0.8, 1, 0.15, 0.9),
                3, 4, byrow = TRUE)
Catnext(items, theta = 0.5)
#> $next_item
#> [1] 2
#> 
#> $information
#> [1] 0.13983002 0.20321676 0.08393092
#> 
#> $weighted
#> [1] 0.13983002 0.20321676 0.08393092
#> 
#> $max_information
#> [1] 0.2032168
#> 
#> $n_available
#> [1] 3
#> 
#> $J
#> [1] 3
#> 
#> $method
#> [1] "Maximum-information item selection with exposure control"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"