Learn R Programming

irtoys (version 0.1.5)

est: Estimate item parameters

Description

Estimate IRT item parameters using either ICL, BILOG, or ltm. Provides access to the most widely used options in these programs.

Usage

est(resp, model = "2PL", engine = "icl", nqp = 20, est.distr = FALSE, logistic = TRUE, 
    nch = 5, a.prior = TRUE, b.prior = FALSE, c.prior = TRUE, bilog.defaults = TRUE, rasch = FALSE, 
    run.name = "mymodel")

Arguments

resp
A matrix of responses: persons as rows, items as columns, entries are either 0 or 1, no missing data
model
The IRT model: "1PL", "2PL", or "3PL". Default is "2PL".
engine
One of "icl", "bilog", or "ltm". Default is "icl".
nqp
Number of quadrature points. Default is 20.
est.distr
T if the probabilities of the latent distribution are to be estimated, F if a normal distribution is assumed. Default is F. Ignored when engine="ltm".
logistic
logistic=T sets the constant D in the IRT model to 1 ("logistic metric"), logistic=F sets it to 1.7. Default is T. When engine="ltm" and logistic=T, the estimated item discriminations are simply
nch
Number of choices in the original item formulation. Used to determine the prior for the asymptote when engine="bilog", model="3PL", and c.prior=T. Default is 5.
a.prior
Whether a prior for the item discriminations is used. Ignored when model="1PL" or engine="ltm". Default is T.
b.prior
Whether a prior for the item difficulties is used. Ignored when engine="ltm". Default is F.
c.prior
Whether a prior for the asymptotes is used. Ignored when model="1PL" or model="2PL" or engine="ltm". Default is T.
bilog.defaults
When engine="icl" and a prior is used, use the default priors in BILOG rather than the default priors in ICL. Ignored when engine="ltm". Default is T.
rasch
When engine="bilog" and model="1PL" and "rasch"=T, the common value for discriminations is forced to 1, and the sum of the difficulties is 0. When engine="ltm" and model="1PL" and
run.name
A (short) string used in the names of all files read or written by ICL or BILOG. Default is "mymodel". Change to something else to keep the outputs of ICL of BILOG for further use. Ignored when engine="ltm"

Value

  • A matrix with one row per item, and three columns: [,1] item discrimination $a$, [,2] item difficulty $b$, and [,3] asymptote $c$. For the 1PL and 2PL models, all asymptotes are equal to 0; for the 1PL, the discriminations are all equal but not necessarily equal to 1.

Details

Estimate the parameters of an IRT model defined in the most general case ("3PL") as $$P(U_{ij}=1|\theta_i,a_j,b_j,c_j)=c_j+(1-c_j)\frac{\displaystyle\exp(Da_j(\theta_i-b_j))}{1+\displaystyle\exp(Da_j(\theta_i-b_j))}$$ where $U_{ij}$ is a binary response given by person $i$ to item $j$, $\theta_i$ is the value of the latent variable ("ability") for person $i$, $a_j$ is the discrimination parameter for item $j$, $b_j$ is the difficulty parameter for item $j$, $c_j$ is the asymptote for item $j$, and $D$ is a constant usually set to either 1.7 or 1.

In the 2PL model (model="2PL"), all asymptotes $c_j$ are 0. In the 1PL model (model="1PL"), all asymptotes $c_j$ are 0 and the discriminations $a_j$ are equal for all items (and sometimes to 1).

Package irtoys provides a simple common interface to the estimation of item parameters with three different programs. It only accesses the most basic and widely used options in these programs. Each of the three programs has a much wider choice of options and cababilities, and serious users must still learn the corresponding syntax in order to access the advanced features. Even when models are fit "by hand", irtoys may be useful in plotting results, doing comparisons across programs etc.

Estimation of the more complex IRT models (2PL and 3PL) for some "difficult" data sets often has to use prior distributions for the item parameters. irtoys adopts the default behaviour of BILOG: no priors for $b$ in any model, priors for $a$ in the 2PL and 3PL models, priors for $c$ in the 3PL model. This can be overriden by changing the values of a.prior, b.prior, and c.prior.

If priors are used at all, they will be the same for all items. Note that both ICL and BILOG can, at some additional effort, set different priors for any individual item. At default, the common priors are the BILOG defaults: normal(0,2) for $b$, lognormal (0, 0.5) for $a$, and beta(20*p+1, 20(1-p)+1) for $c$; $p$ is 1 over the number of choices in the original item formulations, which can be set with the parameter nch, and is again assumed the same for all items.

When engine="icl" and bilog.defaults=F, any priors used will be the ICL default ones, and based on the 4-parameter beta distribution: beta(1.01, 1.01, -6, 6) for $b$, beta(1.75, 3, 0, 3) for $a$, and beta(3.5, 4, 0, 0.5) for $c$. When engine="ltm", all commands involving priors are ignored.

est only works when some IRT software is installed. Package ltm is automatically loaded. ICL can be downloaded from www.b-a-h.com. BILOG is commercial software sold by SSI --- see www.ssicentral.com for further detail. On Windows, make sure that the executable files (icl.exe for ICL, blm1.exe, blm2.exe, and blm3.exe, for BILOG) are located in directories that are included in the PATH variable.

References

Bradley A. Hanson (2002), ICL: IRT Command Language. www.b-a-h.com

Dimitris Rizopoulos (2006). ltm: Latent Trait Models under IRT. cran.r-project.org

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. www.ssicentral.com

Examples

Run this code
p.1pl <- est(Scored, model = "1PL", engine = "ltm")
p.2pl <- est(Scored, model = "2PL", engine = "ltm")

Run the code above in your browser using DataLab