ltm  R Documentation 
Fit a latent trait model under the Item Response Theory (IRT) approach.
ltm(formula, constraint = NULL, IRT.param, start.val, na.action = NULL, control = list())
formula 
a twosided formula providing the responses data matrix and describing the latent
structure. In the left side of 
constraint 
a threecolumn numeric matrix with at most pq  1 rows (where p is the number of items and q the number of latent components plus the intercept), specifying fixedvalue constraints. The first column represents the item (i.e., 1 denotes the first item, 2 the second, etc.), the second column represents the component of the latent structure (i.e., 1 denotes the intercept beta_{0i}, 2 the loadings of the first factor beta_{1i}, etc.) and the third column denotes the value at which the corresponding parameter should be fixed. See Details and Examples for more info. 
IRT.param 
logical; if 
start.val 
the character string "random" or a numeric matrix supplying starting values with p rows and
q columns, with p denoting the number of items, and 
.
na.action 
the 
control 
a list of control values,

The latent trait model is the analogue of the factor analysis model for binary observed data. The model assumes that the dependencies between the observed response variables (known as items) can be interpreted by a small number of latent variables. The model formulation is under the IRT approach; in particular,
logit(pi_i)=beta_{0i} + beta_{1i}z_1 + beta_{2i}z_2,
where π_i is the the probability of a positive response in the ith item, β_{i0} is the easiness parameter, β_{ij} (j=1,2) are the discrimination parameters and z_1, z_2 denote the two latent variables.
The usual form of the latent trait model assumes linear latent variable effects (Bartholomew and
Knott, 1999; Moustaki and Knott, 2000). ltm()
fits the linear one and twofactor models but
also provides extensions described by Rizopoulos and Moustaki (2006) to include nonlinear latent
variable effects. These are incorporated in the linear predictor of the model, i.e.,
logit(pi_i)=beta_{0i} + beta_{1i}z_1 + beta_{2i}z_2 + beta_{nl}^tf(z_1, z_2),
where f(z_1, z_2) is a function of z_1 and z_2 (e.g., f(z_1, z_2) = z_1z_2, f(z_1, z_2) = z_1^2, etc.) and β_{nl} is a matrix of nonlinear terms parameters (look also at the Examples).
If IRT.param = TRUE
, then the parameters estimates for the twoparameter logistic
model (i.e., the model with one factor) are reported under the usual IRT parameterization, i.e.,
logit(π_i) = beta_{1i}(z  beta_{0i}^*).
The linear twofactor model is unidentified under orthogonal rotations on the factors'
space. To achieve identifiability you can fix the value of one loading using the constraint
argument.
The parameters are estimated by maximizing the approximate marginal loglikelihood under the conditional
independence assumption, i.e., conditionally on the latent structure the items are independent Bernoulli
variates under the logit link. The required integrals are approximated using the GaussHermite rule. The
optimization procedure used is a hybrid algorithm. The procedure initially uses a moderate number of EM
iterations (see control
argument iter.em
) and then switches to quasiNewton (see control
arguments method
and iter.qN
) iterations until convergence.
An object of class ltm
with components,
coefficients 
a matrix with the parameter values at convergence. These are always the estimates of
beta_{li}, l = 0, 1, ... parameters, even if 
log.Lik 
the loglikelihood value at convergence. 
convergence 
the convergence identifier returned by 
hessian 
the approximate Hessian matrix at convergence returned by 
counts 
the number of function and gradient evaluations used by the quasiNewton algorithm. 
patterns 
a list with two components: (i) 
GH 
a list with two components used in the GaussHermite rule: (i) 
max.sc 
the maximum absolute value of the score vector at convergence. 
ltst 
a list describing the latent structure. 
X 
a copy of the response data matrix. 
control 
the values used in the 
IRT.param 
the value of the 
constraint 

call 
the matched call. 
In case the Hessian matrix at convergence is not positive definite, try
to refit the model; ltm()
will use new random starting values.
The inclusion of nonlinear latent variable effects produces more complex likelihood surfaces which might possess a number of local maxima. To ensure that the maximum likelihood value has been reached refit the model a number of times (simulations showed that usually 10 times are adequate to ensure global convergence).
Conversion of the parameter estimates to the usual IRT parameterization works only for the twoparameter logistic model.
In the case of the onefactor model, the optimization algorithm works under the constraint that
the discrimination parameter of the first item beta_{11} is always positive. If you wish
to change its sign, then in the fitted model, say m
, use m$coef[, 2] < m$coef[, 2]
.
When the coefficients' estimates are reported under the usual IRT parameterization (i.e., IRT.param = TRUE
),
their standard errors are calculated using the Delta method.
Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl
Baker, F. and Kim, SH. (2004) Item Response Theory, 2nd ed. New York: Marcel Dekker.
Bartholomew, D. and Knott, M. (1999) Latent Variable Models and Factor Analysis, 2nd ed. London: Arnold.
Bartholomew, D., Steel, F., Moustaki, I. and Galbraith, J. (2002) The Analysis and Interpretation of Multivariate Data for Social Scientists. London: Chapman and Hall.
Moustaki, I. and Knott, M. (2000) Generalized latent trait models. Psychometrika, 65, 391–411.
Rizopoulos, D. (2006) ltm: An R package for latent variable modelling and item response theory analyses. Journal of Statistical Software, 17(5), 1–25. URL doi: 10.18637/jss.v017.i05
Rizopoulos, D. and Moustaki, I. (2008) Generalized latent variable models with nonlinear effects. British Journal of Mathematical and Statistical Psychology, 61, 415–438.
coef.ltm
,
fitted.ltm
,
summary.ltm
,
anova.ltm
,
plot.ltm
,
vcov.ltm
,
item.fit
,
person.fit
,
margins
,
factor.scores
## The twoparameter logistic model for the WIRS data ## with the constraint that (i) the easiness parameter ## for the 1st item equals 1 and (ii) the discrimination ## parameter for the 6th item equals 0.5 ltm(WIRS ~ z1, constr = rbind(c(1, 1, 1), c(6, 2, 0.5))) ## Onefactor and a quadratic term ## using the Mobility data ltm(Mobility ~ z1 + I(z1^2)) ## Twofactor model with an interaction term ## using the WIRS data ltm(WIRS ~ z1 * z2) ## The twoparameter logistic model for the Abortion data ## with 20 quadrature points and 20 EM iterations; ## report results under the usual IRT parameterization ltm(Abortion ~ z1, control = list(GHk = 20, iter.em = 20))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.