Evaluates the item information functions and the test information function of a graded response model on a grid of latent trait values, together with the standard error of the latent trait estimate, \(SE(\theta) = 1 / \sqrt{I(\theta)}\). Reliability is a single number that describes a scale at one place on the latent continuum; the information function is the same idea expressed as a function of where the respondent sits, so an item pool can be judged on where it measures precisely rather than on one global summary. Because information is additive across items, the curve also shows which items carry the precision, and over what range, which is what makes it useful for building and trimming a scale.
irt_information(
a,
b = NULL,
item = NULL,
theta = seq(-4, 4, length.out = 81),
grm = NULL
)A data.frame (class dmar_tbl) with one row per
value of theta and columns:
thetaThe latent trait value, as supplied.
test_informationTest information at that value, the sum of the item information functions.
seThe standard error of the latent trait estimate,
\(1 / \sqrt{I(\theta)}\). It is Inf where test
information is zero, which is the correct statement that the
items carry no information there.
The result carries these attributes:
"item_information"A numeric matrix of item
information with theta in the rows (row names are the
theta values) and items in the columns (column names are
the item names). Its row sums are test_information.
"item"The item names, in the order they appear in the
columns of "item_information".
"a"The discrimination used for each item, a numeric vector named by item.
"b"The boundary locations used, a numeric vector in item order and, within an item, in ascending order, named by the item each boundary belongs to.
"theta_max_information"The value of theta at
which test information peaks on the supplied grid (the first such
value if there are ties). It is a grid value, not the result of an
optimization, so a finer theta locates the peak more
sharply.
Discriminations, a numeric vector of positive values. Supply
either one value per item (named with the item names, or in the order
the items first appear in item) or one value per boundary row
(constant within an item). Not used when grm is supplied.
Boundary locations (category thresholds), a numeric vector with
one element per category boundary. An item with \(m\) categories has
\(m - 1\) boundaries, which the model requires to be in ascending
order within the item. Not used when grm is supplied.
Item labels, a character or factor vector the same length as
b naming the item each boundary belongs to. When NULL
(default), each element of b is treated as its own dichotomous
item, named item_1, item_2, and so on, and a must
then have the same length as b. Not used when grm is
supplied.
Latent trait values at which to evaluate the information
functions. Any finite numeric vector; the default,
seq(-4, 4, length.out = 81), covers the range in which almost
all of a standard normal trait distribution falls, in steps of 0.1.
Optionally, the result of irt_grm(): a
data.frame with one row per item and category boundary and
columns item, a, and b (a category column,
when present, orders the boundaries within an item). Supply this or
the parameters, not both.
Ken Kelley [email protected]
For item i with discrimination \(a_i\) and ordered boundary locations \(b_{i1} < b_{i2} < \cdots < b_{i,m-1}\) for m categories, the normal ogive graded response model of Samejima (1969) defines the boundary response function $$P^*_{ik}(\theta) = \Phi[a_i (\theta - b_{ik})],$$ the probability of responding above boundary k, that is, in any category higher than the kth, with the conventions \(P^*_{i0} = 1\) and \(P^*_{im} = 0\). The category response function is the difference of adjacent boundary functions, $$P_{ik}(\theta) = P^*_{i,k-1}(\theta) - P^*_{ik}(\theta),$$ and differentiating with respect to \(\theta\) gives $$P'_{ik}(\theta) = a_i \{\phi[a_i (\theta - b_{i,k-1})] - \phi[a_i (\theta - b_{ik})]\},$$ where \(\phi\) is the standard normal density and the density terms vanish at the two extreme categories (there is no \(b_{i0}\) and no \(b_{im}\)). Item information is $$I_i(\theta) = \sum_{k=1}^{m} \frac{[P'_{ik}(\theta)]^2}{P_{ik}(\theta)},$$ test information is \(I(\theta) = \sum_i I_i(\theta)\), and the standard error of the maximum likelihood estimate of \(\theta\) is \(SE(\theta) = 1 / \sqrt{I(\theta)}\).
Two properties make the curve worth reading. Information is additive
across items, so an item's contribution can be read off directly and a
pool can be assembled to cover a targeted range. And the reciprocal
relation to the squared standard error means the peak of the curve
locates where the scale estimates the trait most precisely, reported
here as the "theta_max_information" attribute.
For a dichotomous item the model reduces to the two parameter normal ogive, whose information has the closed form $$I_i(\theta) = \frac{a_i^2 \phi[a_i(\theta - b_i)]^2}{ \Phi[a_i(\theta - b_i)] \{1 - \Phi[a_i(\theta - b_i)]\}},$$ which the general expression above reproduces; that identity is one of the tests of this function.
The category probabilities underflow to zero for \(\theta\) far from
every boundary, where the ratio \((P')^2 / P\) would be \(0/0\). A
category whose probability is not strictly positive contributes zero to
the sum, which is the limit the ratio approaches, so the returned
information is finite and nonnegative on any grid, however extreme, and
is never NaN. In the regime where \((P')^2\) underflows but
\(P\) does not, the ratio is formed as
\(\exp[2 \log |P'| - \log P]\) so the contribution is kept rather than
flushed to zero. Where two boundaries of an item coincide, the category
between them has probability zero everywhere and, by the same guard,
contributes nothing.
The parameters are in the normal ogive metric, which is what
irt_grm() returns by default. The logistic metric used by much of
the item response theory software scales the discrimination by
approximately 1.702 (Camilli, 1994); a logistic \(a\) is put on the
normal ogive scale by dividing by that constant. The two metrics give
information functions that are proportional in shape but not equal in
value, so a cross-software comparison is a comparison of curves, not of
numbers.
Baker, F. B., & Kim, S.-H. (2004). Item response theory: Parameter estimation techniques (2nd ed.). Marcel Dekker.
Camilli, G. (1994). Teacher's corner: Origin of the scaling constant d = 1.7 in item response theory. Journal of Educational and Behavioral Statistics, 19(3), 293--295. tools:::Rd_expr_doi("10.3102/10769986019003293")
Embretson, S. E., & Reise, S. P. (2000). Item response theory for psychologists. Lawrence Erlbaum.
Lord, F. M. (1980). Applications of item response theory to practical testing problems. Lawrence Erlbaum.
Samejima, F. (1969). Estimation of latent ability using a response pattern of graded scores. Psychometrika Monograph Supplement, 34(4, Pt. 2), 1--97.
plot_irt_information for the curve,
reliability_omega for the single-number companion.
Other multivariate and latent variable methods:
average_variance_extracted(),
bifactor_indices(),
cfa_1(),
cfa_2(),
cfa_k(),
ci_eigenvalue(),
common_method_marker(),
common_method_single_factor(),
dmacs(),
ecvi(),
htmt(),
irt_grm(),
measurement_alignment(),
measurement_invariance(),
procrustes_phi(),
simple_structure()
# Three items: a five-category rating item and two dichotomous items.
# The discriminations are named, so they are matched to the item labels.
info <- irt_information(
a = c(mood_1 = 1.4, mood_2 = 0.9, mood_3 = 1.1),
b = c(-1.5, -0.5, 0.5, 1.5, 0.0, 0.8),
item = c(rep("mood_1", 4), "mood_2", "mood_3")
)
head(info)
# Where does this three-item set measure most precisely?
attr(info, "theta_max_information")
# Each item's contribution; the rows sum to the test information.
head(attr(info, "item_information"))
# A dichotomous item matches the two parameter normal ogive closed form.
one <- irt_information(a = 1.5, b = 0.25, theta = c(-1, 0, 1))
z <- 1.5 * (c(-1, 0, 1) - 0.25)
1.5^2 * dnorm(z)^2 / (pnorm(z) * (1 - pnorm(z)))
one$test_information
Run the code above in your browser using DataLab