itf: Test item fit

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/itemfit.R


Returns a statistic of item fit together with its degrees of freedom and p-value. Optionally produces a plot.


itf(resp, ip, item, stat = "lr", theta, standardize = TRUE, mu = 0,
  sigma = 1, bins = 9, breaks = NULL, equal = "count", type = "means",
  do.plot = TRUE, main = "Item fit")



A matrix of responses: persons as rows, items as columns, entries are either 0 or 1, no missing data


Item parameters: the object returned by est, or the equivalent of its first part.


A single number pointing to the item (column of resp, row of ip), for which fit is to be tested


The statistic to be computed, either "chi" or "lr". Default is "lr". See details below.


A vector containing some viable estimate of the latent variable for the same persons whose responses are given in resp. If not given (and group is also missing), WLE estimates will be computed from resp and ip.


Standardize the distribution of ability estimates?


Mean of the standardized distribution of ability estimates


Standard deviation of the standardized distribution of ability estimates


Desired number of bins (default is 9)


A vector of cutpoints. Overrides bins if present.


Either "width" for bins of equal width, or "count" for bins with roughly counts of observations. Default is "quant"


The points at which itf will evaluate the IRF. One of "mids" (the mid-point of each bin), "meds" (the median of the values in the bin), or "means" (the mean of the values in the bin). Default is "means".


Whether to do a plot


The title of the plot if one is desired


Given a long test, say 20 items or more, a large-test statistic of item fit could be constructed by dividing examinees into groups of similar ability, and comparing the observed proportion of correct answers in each group with the expected proportion under the proposed model. Different statistics have been proposed for this purpose.

The chi-squared statistic


where N_g is the number of examinees in group g, p_g=r_g/N_g, r_g is the number of correct responses to the item in group g, and π_g is the IRF of the proposed model for the median ability in group g, is attributed by Embretson & Reise to R. D. Bock, although the article they cite does not actually mention it. The statistic is the sum of the squares of quantities that are often called "Pearson residuals" in the literature on categorical data analysis.

BILOG uses the likelihood-ratio statistic

X^2=2∑_g≤ft[r_g\log\frac{p_g}{π_g} + (N_g-r_g)\log\frac{(1-p_g)}{(1-π_g)}\right],

where π_g is now the IRF for the mean ability in group g, and all other symbols are as above.

Both statistics are assumed to follow the chi-squared distribution with degrees of freedom equal to the number of groups minus the number of parameters of the model (eg 2 in the case of the 2PL model). The first statistic is obtained in itf with stat="chi", and the second with stat="lr" (or not specifying stat at all).

In the real world we can only work with estimates of ability, not with ability itself. irtoys allows use of any suitable ability measure via the argument theta. If theta is not specified, itf will compute EAP estimates of ability, group them in 9 groups having approximately the same number of cases, and use the means of the ability eatimates in each group. This is the approximate behaviour of BILOG.

If the test has less than 20 items, itf will issue a warning. For tests of 10 items or less, BILOG has a special statistic of fit, which can be found in the BILOG output. Also of interest is the fit in 2- and 3-way marginal tables in package ltm.


A vector of three numbers:


The value of the statistic of item fit


The degrees of freedom


The p-value


Ivailo Partchev


S. E. Embretson and S. P. Reise (2000), Item Response Theory for Psychologists, Lawrence Erlbaum Associates, Mahwah, NJ

M. F. Zimowski, E. Muraki, R. J. Mislevy and R. D. Bock (1996), BILOG–MG. Multiple-Group IRT Analysis and Test Maintenance for Binary Items, SSI Scientific Software International, Chicago, IL

See Also

eap, qrs


fit   <- itf(resp=Scored, ip=Scored2pl, item=7)

irtoys documentation built on May 2, 2019, 3:03 a.m.