@bdelab/jscat
Version:
A library to support IRT-based computer adaptive testing in JavaScript
41 lines (40 loc) • 1.55 kB
TypeScript
import { Stimulus, Zeta } from './type';
/**
* Calculates the probability that someone with a given ability level theta will
* answer correctly an item. Uses the 4 parameters logistic model
*
* @param {number} theta - ability estimate
* @param {Zeta} zeta - item params
* @returns {number} the probability
*/
export declare const itemResponseFunction: (theta: number, zeta: Zeta) => number;
/**
* A 3PL Fisher information function
*
* @param {number} theta - ability estimate
* @param {Zeta} zeta - item params
* @returns {number} - the expected value of the observed information
*/
export declare const fisherInformation: (theta: number, zeta: Zeta) => number;
/**
* Return a Gaussian distribution within a given range
*
* @param {number} mean
* @param {number} stdDev
* @param {number} min
* @param {number} max
* @param {number} stepSize - the quantization (step size) of the internal table, default = 0.1
* @returns {Array<[number, number]>} - a normal distribution
*/
export declare const normal: (mean?: number, stdDev?: number, min?: number, max?: number, stepSize?: number) => number[][];
/**
* Find the item in a given array that has the difficulty closest to the target value
*
* @remarks
* The input array of stimuli must be sorted by difficulty.
*
* @param {Stimulus[]} inputStimuli - an array of stimuli sorted by difficulty
* @param {number} target - ability estimate
* @returns {number} the index of stimuli
*/
export declare const findClosest: (inputStimuli: Array<Stimulus>, target: number) => number;