A library to support IRT-based computer adaptive testing in JavaScript
You can install jsCAT from npm with
npm i @bdelab/jscat
// import jsCAT
import { Cat, normal } from '@bdelab/jscat';
// declare prior if you choose to use EAP method
const currentPrior = normal();
// create a Cat object
const cat = new CAT({method: 'MLE', itemSelect: 'MFI', nStartItems: 0, theta: 0, minTheta: -6, maxTheta: 6, prior: currentPrior})
// update the abilitiy estimate by adding test items
cat.updateAbilityEstimate(zeta, answer);
const currentTheta = cat.theta;
const currentSeMeasurement = cat.seMeasurement;
const numItems = cat.nItems;
// find the next available item from an input array of stimuli based on a selection method
const stimuli = [{difficulty: -3, item: 'item1'}, {difficulty: -2, item: 'item2'}];
const nextItem = cat.findNextItem(stimuli, 'MFI');
Reference software: mirt (Chalmers, 2012)
Reference software: catR (Magis et al., 2017)
Chalmers, R. P. (2012). mirt: A multidimensional item response theory package for the R environment. Journal of Statistical Software.
Magis, D., & Barrada, J. R. (2017). Computerized adaptive testing with R: Recent updates of the package catR. Journal of Statistical Software, 76, 1-19.
Lucas Duailibe, irt-js, (2019), GitHub repository, https://github.com/geekie/irt-js
jsCAT is distributed under the ISC license.