EPV(itemBank, item, x, theta, it, priorDist="norm",
priorPar=c(0,1), D=1, parInt=c(-4,4,33))itBank, typically an output of the function createItemBank.it must be equal to the
"norm" (default) and "unif".c(0,1)) of the prior ability distribution.D=1 (for logistic metric); D=1.702 yields approximately the normal metric (Haley, 1952).nextItem function.
Let k be the number of administered items, and set $x_1, ..., x_k$ as the provisional response pattern. Set $\hat{\theta}_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_j(\theta)$
as the probability of answering item j correctly for a given ability level $\theta$, and set $Q_j(\theta)=1-P_j(\theta)$. Finally, set
$Var(\theta | x_1, ..., x_k, 0)$ and $Var(\theta | x_1, ..., x_k, 1)$ as the posterior variances of $\theta$, given the provisional response
pattern (updated by response 0 and 1 respectively). Then, the EPV for item j equals
$$EPV_j = P_j(\hat{\theta}_k)\,Var(\theta | x_1, ..., x_k, 1) + Q_j(\hat{\theta}_k)\,Var(\theta | x_1, ..., x_k, 0)$$.
The posterior variance $Var(\theta | x_1, ..., x_k, x_j)$ (where x_j takes value 0 or 1) 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 item bank is provided through the argument itemBank. The provisional response pattern and the related item parameters are provided by the arguments
x and it respectively. The target item (for which the maximum information computed) is given by its number in the item bank, through the
item argument.nextItem, eapEst, eapSem# Loading the 'tcals' parameters
data(tcals)
# Selecting item parameters only
tcals <- as.matrix(tcals[,1:4])
# Item bank creation with 'tcals' item parameters
bank <- createItemBank(tcals)
# Selection of two arbitrary items (15 and 20) of the
# 'tcals' data set
it <- bank$itemPar[c(15,20),]
# Creation of a response pattern
x <- c(0,1)
# MEI for item 1, provisional ability level 0
EPV(bank, 1, x, 0, it)
# With prior standard deviation 2
EPV(bank, 1, x, 0, it, priorPar=c(0,2))Run the code above in your browser using DataLab