export default class LeakyIntegrator { /** * @description Calculates the leaky integrator scores for a given set of scores and dates Rules: 1) Score Update: When a new score is obtained, the compound score increases, moving closer to the maximum if the evidence is positive. 2) decayFactor is a value between 0 and 1 representing the rate of decay per unit of time. The compound score decays over time, with the rate influenced by the width of the confidence interval and the time elapsed since the last score. 3) Confidence Interval (CI) Adjustment: The CI narrows each time the student demonstrates competence, suggesting increased confidence in their ability. @param dates - the dates of the scores @param scores - the scores @param decreaseFactor - the factor with which the leaky score is pushed downwards by the current score (if the current score is 0) @param increaseFactor - the factor with which the leaky score is pushed upwards by the current score */ static calculateLeakyIntegratorScores(scores: number[], scoresRange: number[], decreaseFactor: number, increaseFactor: number, lowerBoundDecreaseFactor?: number, lowerBoundIncreaseFactor?: number, upperBoundDecreaseFactor?: number, upperBoundIncreaseFactor?: number): { leakyIntegratorScores: number[]; cis: number[][]; }; private static calculateLeakyScore; private static adjustUpperBound; private static adjustLowerBound; }