This command returns the expected posterior variance (EPV) for a given item under dichotomous and polytomous IRT models, as used for Minimum Expected Posterior Variance (MEPV) criterion.

1 2 3 |

`itemBank` |
numeric: a suitable matrix of item parameters. See |

`item` |
numeric: the item (referred to as its rank in the item bank) for which the expected posterior variance must be computed. |

`x` |
numeric: a vector of item responses, coded as 0 or 1 only (for dichotomous items) or from 0 to the number of response categories minus one (for polytomous items). |

`theta` |
numeric: the provisional ability estimate. |

`it.given` |
numeric: a suitable matrix of item parameters for previously administered items. The number of rows of |

`model` |
either |

`priorDist` |
character: specifies the prior distribution. Possible values are |

`priorPar` |
numeric: vector of two components specifying the prior parameters (default is |

`D` |
numeric: the metric constant. Default is |

`parInt` |
numeric: vector of three components, defining the sequence of ability values for computing the posterior variance. See |

The EPV can be used as a rule for selecting the next item in the CAT process (Choi and Swartz, 2009; Owen, 1975; van der Linden, 1998). This command serves as a subroutine for the `nextItem`

function.

Dichotomous IRT models are considered whenever `model`

is set to `NULL`

(default value). In this case, `itemBank`

must be a matrix with one row per item and four columns, with the values of the discrimination, the difficulty, the pseudo-guessing and the inattention parameters (in this order). These are the parameters of the four-parameter logistic (4PL) model (Barton and Lord, 1981).

Polytomous IRT models are specified by their respective acronym: `"GRM"`

for Graded Response Model, `"MGRM"`

for Modified Graded Response Model, `"PCM"`

for Partical Credit Model, `"GPCM"`

for Generalized Partial Credit Model, `"RSM"`

for Rating Scale Model and `"NRM"`

for Nominal Response Model. The `itemBank`

still holds one row per item, end the number of columns and their content depends on the model. See `genPolyMatrix`

for further information and illustrative examples of suitable polytomous item banks.

Under polytomous IRT models, let *k* be the number of administered items, and set *x_1, ..., x_k* as the provisional response pattern (where each response *x_l* takes values in *\{0, 1, ..., g_l\}*). Set *\hat{θ}_k* as the provisional ability estimate (with the first *k* responses) and let *j* be the item of interest (not previously administered). Set also *P_{jt}(θ)*
as the probability of answering response category *t* to item *j* for a given ability level *θ* (thus *t \in \{0, ..., g_j\}*). Finally, set *Var(θ | x_1, ..., x_k, t)* as the posterior variance of *θ*, given the provisional response pattern (updated by response *t*). Then, the EPV for item *j* equals

*EPV_j = ∑_{t=0}^{g_j} P_{jt}(\hat{θ}_k)\,Var(θ | x_1, ..., x_k, t)*

.

In case of dichotomous IRT models, all *g_l* values reduce to 1, so that item responses *x_l* equal either 0 or 1. Set simply *P_j(θ)* as the probability of answering item *j* correctly for a given ability level *θ*, and set *Q_j(θ)=1-P_j(θ)*. Finally, set *Var(θ | x_1, ..., x_k, 0)* and *Var(θ | x_1, ..., x_k, 1)* as the posterior variances of *θ*, given the provisional response pattern (updated by response 0 and 1 respectively). Then, the EPV for item *j* reduces to

*EPV_j = P_j(\hat{θ}_k)\,Var(θ | x_1, ..., x_k, 1) + Q_j(\hat{θ}_k)\,Var(θ | x_1, ..., x_k, 0)*

.

The posterior variances *Var(θ | x_1, ..., x_k, x_j)* (where *x_j* takes value 0 or 1 for dichotomous models, and 0, 1, ..., or *g_j* for polytomous models) is computed as the squared standard error of the EAP estimate of ability, using the response pattern *(x_1, ..., x_k, x_j)*. This is done by a joint use of the `eapEst`

and `eapSem`

functions.

The prior distribution is set up by the arguments `priorDist`

and `priorPar`

, with the by-default standard normal distribution. The range of integration is defined by the `parInt`

argument, with by default, the sequence from -4 to 4 and of length 33 (or, by steps of 0.25). See the function
`eapEst`

for further details.

The provisional response pattern and the related item parameters are provided by the arguments `x`

and `it.given`

respectively. The target item (for which the maximum information computed) is given by its number in the item bank, through the
`item`

argument.

Note that the provisional response pattern `x`

can also be set to `NULL`

(which is useful when the number `nrItems`

of starting items is set to zero). In this case, `it.given`

must be a matrix with zero rows, such as e.g., `itemBank[NULL,]`

.

The expected posterior variance for the selected item.

David Magis

Department of Education, University of Liege, Belgium

david.magis@ulg.ac.be

Barton, M.A., and Lord, F.M. (1981). *An upper asymptote for the three-parameter logistic item-response model*. Research Bulletin 81-20. Princeton, NJ: Educational Testing Service.

Choi, S. W., and Swartz, R. J. (2009). Comparison of CAT item selection criteria for polytomous items. *Applied Psychological Measurement, 32*, 419-440. doi: 10.1177/0146621608327801

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

Owen, R. J. (1975). A Bayesian sequential procedure for quantal response in the context of adaptive mental testing. *Journal of the American Statistical Association, 70*, 351-356. doi: 10.1080/01621459.1975.10479871

van der Linden, W. J. (1998). Bayesian item selection criteria for adaptive testing. *Psychometrika, 63*, 201-216. doi: 10.1007/BF02294775

`nextItem`

, `eapEst`

, `eapSem`

, `genPolyMatrix`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | ```
## Dichotomous models ##
# Loading the 'tcals' parameters
data(tcals)
# Selecting item parameters only
bank <- as.matrix(tcals[,1:4])
# Selection of two arbitrary items (15 and 20) of the
# 'tcals' data set
it.given <- bank[c(15,20),]
# Creation of a response pattern
x <- c(0, 1)
# EPV for item 1, provisional ability level 0
EPV(bank, 1, x, 0, it.given)
# With prior standard deviation 2
EPV(bank, 1, x, 0, it.given, priorPar = c(0,2))
## Polytomous models ##
# Generation of an item bank under GRM with 100 items and at most 4 categories
m.GRM <- genPolyMatrix(100, 4, "GRM")
m.GRM <- as.matrix(m.GRM)
# Selection of two arbitrary items (15 and 20)
it.given <- m.GRM[c(15,20),]
# Generation of a response pattern (true ability level 0)
x <- genPattern(0, it.given, model = "GRM")
# EPV for item 1, provisional ability level 0
EPV(m.GRM, 1, x, 0, it.given, model = "GRM")
# With prior standard deviation 2
EPV(m.GRM, 1, x, 0, it.given, model = "GRM", priorPar = c(0, 2))
# Generation of an item bank under PCM with 20 items and 4 categories
m.PCM <- genPolyMatrix(20, 4, "PCM", same.nrCat = TRUE)
m.PCM <- as.matrix(m.PCM)
# Selection of two arbitrary items (15 and 20)
it.given <- m.PCM[c(15, 20),]
# Generation of a response pattern (true ability level 0)
x <- genPattern(0, it.given, model = "PCM")
# EPV for item 1, provisional ability level 0
EPV(m.PCM, 1, x, 0, it.given, model = "PCM")
# With prior standard deviation 2
EPV(m.PCM, 1, x, 0, it.given, model = "PCM", priorPar = c(0, 2))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.