UNPKG

@bdelab/jscat

Version:

A library to support IRT-based computer adaptive testing in JavaScript

41 lines (40 loc) 1.55 kB
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;