Social Science Measurement Project at SourceForge

The Social Science Measurement Project aims to develop open source estimation software for Rasch and Item Response Theory (IRT) models for both dichotomous and polytomous items. The goals are to implement several estimation procedures and provide the means for graphical examination of the output of these estimation procedures.

News

Software

The current elements of this project consist of the Estimation Toolkit for Item Response Models (ETIRM), and the IRT Command Language (ICL). ETIRM is a C++ toolkit for building IRT estimation programs, it is not itself a program for computing IRT parameter estimates. Currently, the components of ETIRM can be used to compute estimates of the three-parameter logistic model for dichotomous items (including the one-parameter and two-parameter logistic models as special cases), and the generalized partial credit model for polytomous items (including the partial credit model as a special case). Parameter estimation is supported when groups of examinees that are not randomly equivalent take different sets of items, with some items in common between the sets (multiple-group estimation). ICL is a stand-alone program written using ETIRM that can perform single- or multiple-group estimation of the 1-, 2-, and 3-parameter logistic item response models for dichotomous items, and the partial credit model and generalized partial credit model for polytomous items. ICL can also be used to simulate data from the IRT models supported. There are versions of ICL available for Windows, Linux, and Macintosh.

The structure used in creating ETIRM and ICL was to implement computationally intensive procedures in a system programming language (C++), and then implement an interface to allow these procedures to be used from a higher-level scripting language (such as Python, Perl, Tcl, R). The philosophy behind this structure is presented in Ousterhout (1998). The components of ETIRM and ICL can be placed in one of three levels:

  1. Numerical routines written in C/C++ where efficiency is important.
  2. Functions written in C/C++ that implement commands that form the basic interface by which the numerical routines in 1 can be used by various scripting languages. This interface is designed to be used with the Simplified Wrapper and Interface Generator (SWIG) to generate interfaces to scripting languages supported by SWIG.
  3. Implementations of scripting language extensions or stand-alone applications with embedded scripting languages using the C/C++ interfaces created in 2 as well as higher-order procedures written in the scripting language.
ETIRM consists of numerical estimation routines (level 1) and some interface functions to these numerical routines from which interfaces can be generated using SWIG (level 2). ICL is a stand-alone application with an embedded Tcl interpreter (level 3). The Tcl interpreter has been extended with interface functions that are part of ETIRM, and additional interface functions that have been written specifically for ICL (level 2). A large number of Tcl commands that are part of ICL were written in Tcl (level 3) using the Tcl commands which implement the C/C++ interface functions and other commands available in Tcl.

SourceForge Logo

Last updated: May 25, 2003