There is a thing I’ve never understood in IRT completely.

Packages in R such as mirt or ltm are usually consistent in their estimates and seem to be unaffected with starting values. However, I am convinced there is the infinity of the best solutions.

Consider a minimalistic example:

#matrix of responses (5 persons, 4 items)
X <- matrix(c(1,1,1,0,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0), nrow=5, ncol=4)

#some random starting values
beta <- rnorm(dim(X)[2]) #items difficulty
theta <- rnorm(dim(X)[1]) #level of measured trait in persons

#compute loglikelihood for given beta and theta 
get_log_likelihood <- function(X, theta, beta)
  p <- outer(theta,beta, FUN = function(x,y) 1/(1+exp(y-x)) )
  return(sum(log( (1-p)*X + p*(1-X) )))

#naive joint maximum likelihood
loglikelihood <- 0
difference <- 1
while(difference > 1e-05)
  D1 <- nlm(function(par){-get_log_likelihood(X, theta, par)},p=beta)
  beta <- D1$estimate
  D2 <- nlm(function(par){-get_log_likelihood(X, par, beta)},p=theta)
  theta <- D2$estimate
  difference <- abs(loglikelihood+D2$minimum)
  loglikelihood <- -D2$minimum


The loglikelihood of estimate is -10.40133. However, the location of beta and theta estimates can drift together along the whole real axis. If we employ discriminant parameter, also the scale of estimates starts flowing.

The question is which solution is the prefeed one. Does it have any features that make it the best one or is the unambiguity of results in R only an artefact produced by estimation method?


1 Answer 1


Your approach is not identified, which is why there's an infinite number of solutions for the estimates to land on. This is why software fix the mean and variance of the latent trait distribution beforehand. Note also that mirt and ltm use marginal maximum likelihood, so the theta distribution is integrated over rather than treated as parameters. This is the common way to deal with random effects, which you'll find in basically all latent variable modelling frameworks (e.g., structural equation modelling).

  • $\begingroup$ Phil, thanks a bunch! Finally, I didn´t find myself to be able to mimic algorithms for marginal maximum likelihood estimation so I stick to including Bayesian penalty on parameters estimates to identify my model. Btw. do you know any book / article that can be helpful in understanding method used in marginal maximum likelihood estimation? $\endgroup$ Aug 5, 2017 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.