# Expected Posterior Variance (EPV)

### Description

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.

### Usage

 1 2 3 EPV(itemBank, item, x, theta, it.given, model = NULL, priorDist = "norm", priorPar = c(0, 1), D = 1, parInt = c(-4, 4, 33)) 

### Arguments

 itemBank numeric: a suitable matrix of item parameters. See Details. 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 it.given must be equal to the length of x. model either NULL (default) for dichotomous models, or any suitable acronym for polytomous models. Possible values are "GRM", "MGRM", "PCM", "GPCM", "RSM" and "NRM". See Details. priorDist character: specifies the prior distribution. Possible values are "norm" (default) and "unif". priorPar numeric: vector of two components specifying the prior parameters (default is c(0,1)) of the prior ability distribution. 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. parInt numeric: vector of three components, defining the sequence of ability values for computing the posterior variance. See Details.

### Details

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,].

### Value

The expected posterior variance for the selected item.

### Author(s)

David Magis
Department of Education, University of Liege, Belgium
david.magis@ulg.ac.be

### References

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 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. URL http://www.jstatsoft.org/v48/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

### Examples

  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)) 

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.