BookmarkSubscribeRSS Feed
Quartz | Level 8



I am trying to run several IRT models but they don't produce output...


This model is exploratory IRT with 10 factors. It takes a lot of time to run and runs on 100% CPU (I interrupted the program after about 2 hours). 


proc irt data = data resfunc = graded nfactor = 10 rotate = obvarimax;
var item1 - item65;

This model is confirmatory IRT with 10 factors (each item loads only on one factor). It runs for about 15 minutes and then says "Insufficient memory." Produces output for factors (e.g., eigenvalues) but not for item parameters. 


proc irt data = data resfunc = graded;
var item1 - item65;
  F1 -> item1 - item5,
  F2 -> item6 - item10, 
  F3 -> item11 - item22,
  F4 -> item23 - item30,
  F5 -> item31 - item35,
  F6 -> item36 - item41, 
  F7 -> item42 - item49, 
  F8 -> item50 - item55, 
  F9 -> item56 - item60, 
  F10 -> item61 - item65;

I assume that the problem is in my computer -- it is not powerful enough to run such computationally demanding procedures. So, I wanted to ask if anybody knows what kind of computer I need to have to run these analyses (and whether it's at all possible)? 


Thank you in advance. 

Super User

How many records are in your input data set?

How many levels does each of your Item variables have? From the documentation:

RESFUNC=GRADED for ordinal items. The graded response model assumes that the response variables are ordinal-categorical up to 11 levels.

So if your Item variables, or a subset of them, have more than 11 levels your data may be too complex for the model.


Quartz | Level 8

I have over 700 records. 7 levels. 


I would also note that with a fewer number of factors (2 or 3) there are no problems. 

Barite | Level 11

Hi, I have same problem as you. The computation takes very long time, especially for confirmatory  multidimensional models. 


To make it faster, I relax the convergence criteria to gconv=1E-4 (I know this gives is less accurate estimates). I also found that the conjugate gradient optimization works fastest in complex models (technique=congra). And, for exploratory models I also relax the convergence on the criteria for finding the rotation matrix (rconverge=1E-3).



Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 3 in conversation