org.activemath.studentmodel2.assessment.tbmirt
Class IRTEvidenceAnalyzer

java.lang.Object
  extended by org.activemath.studentmodel2.assessment.tbmirt.IRTEvidenceAnalyzer

public class IRTEvidenceAnalyzer
extends Object

This class analyzes Evidences (at the moment ExerciseResults) upon their support for different hypotheses, like support for belief, that a user has some competencyLevel and the associated plausibility or degree of belief of the hypothesis.


Field Summary
protected static Logger log
           
protected static double[] masteryAssumptions
           
 
Method Summary
 double getAnswer(double itemDifficulty, double studentMastery)
          Get the response of a student with given mastery for an exercise with a given difficulty by using the random function to create a dichotomous response.
 double getCorrectProb(double itemDifficulty, double studentMastery)
          Calculates the IRT-probability that a student gives a correct answer
 double getCorrectProb(double itemDifficulty, double studentMastery, double discriminationFactor)
          Calculates the IRT-probability that a student gives a correct answer
 double getDiscriminationFactor()
           
 double getExerciseDifficulty(Difficulty exerciseDifficulty, AchievementLevel level)
          If no IRT-difficulty (=IRT item value) is provided, calculate it (for MATH-BRIDGE competency system only)
 double getExerciseDifficulty(Difficulty exerciseDifficulty, CompetencyLevel exerciseCL)
          If no IRT-difficulty (=IRT item value) is provided, calculate it
 double getGuessingProb()
           
 HypothesesContainer getHypotheses(Evidence evidence)
          Get a map of hypotheses and their associated plausibility values from an evidence (ExerciseResult).
 HypothesesContainer getHypotheses(Evidence evidence, IRinterval radiusInterval)
          Get a map of hypotheses and their associated plausibility values from an evidence (ExerciseResult).
static IRTEvidenceAnalyzer getInstance()
          get the instance of the Evidence analyzer...
 void setDiscriminationFactor(double discriminationFactor)
           
 void setGuessingProb(double guessingProb)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static Logger log

masteryAssumptions

protected static final double[] masteryAssumptions
Method Detail

getInstance

public static IRTEvidenceAnalyzer getInstance()
get the instance of the Evidence analyzer...

Returns:

getHypotheses

public HypothesesContainer getHypotheses(Evidence evidence)
Get a map of hypotheses and their associated plausibility values from an evidence (ExerciseResult).

Parameters:
evidence - - The evidence in form of an ExerciseResult
Returns:
- A map with key: the hypothesis name, and the value: plausibility in [0,1] for the hypothesis

getHypotheses

public HypothesesContainer getHypotheses(Evidence evidence,
                                         IRinterval radiusInterval)
Get a map of hypotheses and their associated plausibility values from an evidence (ExerciseResult). Derive this information from a certain part of the IRT curve, the information radius.

Parameters:
evidence - - The evidence in form of an ExerciseResult
radiusInterval - The interval of the information radius
Returns:
- A map with key: the hypothesis name, and the value: plausibility in [0,1] for the hypothesis

getExerciseDifficulty

public double getExerciseDifficulty(Difficulty exerciseDifficulty,
                                    CompetencyLevel exerciseCL)
If no IRT-difficulty (=IRT item value) is provided, calculate it

Parameters:
exerciseDifficulty - The difficulty of the exercise (very_easy, easy, ...)
exerciseCL - The competency level of the exercise (can be null)
Returns:
the IRT item value of the exercise metadata (as provided in the parameters) this is a value between 0 and 1

getExerciseDifficulty

public double getExerciseDifficulty(Difficulty exerciseDifficulty,
                                    AchievementLevel level)
If no IRT-difficulty (=IRT item value) is provided, calculate it (for MATH-BRIDGE competency system only)

Parameters:
exerciseDifficulty - The difficulty of the exercise (very_easy, easy, ...)
level - The achievement level of the (math-bridge) exercise
Returns:
the IRT item value of the exercise metadata (as provided in the parameters) this is a value between 0 and 1

getDiscriminationFactor

public double getDiscriminationFactor()
Returns:
The discrimination factor

setDiscriminationFactor

public void setDiscriminationFactor(double discriminationFactor)
Parameters:
discriminationFactor - The discrimination factor to set

getAnswer

public double getAnswer(double itemDifficulty,
                        double studentMastery)
Get the response of a student with given mastery for an exercise with a given difficulty by using the random function to create a dichotomous response. (either correct (=1) or wrong (=0))

Parameters:
itemDifficulty - - the difficulty of an exercise
studentMastery - - the mastery of the student
Returns:
- The dichotomous achievement for the item (exercise)

getCorrectProb

public double getCorrectProb(double itemDifficulty,
                             double studentMastery)
Calculates the IRT-probability that a student gives a correct answer

Parameters:
itemDifficulty - - difficulty of the exercise (IRT-style) in [0,1]
studentMastery - - mastery of the student in [0,1]
Returns:
- The probability P(Answer = correct) for the item/user

getCorrectProb

public double getCorrectProb(double itemDifficulty,
                             double studentMastery,
                             double discriminationFactor)
Calculates the IRT-probability that a student gives a correct answer

Parameters:
itemDifficulty - - difficulty of the exercise (IRT-style) in [0,1]
studentMastery - - mastery of the student in [0,1]
discriminationFactor - - the discrimination facor of an exercise
Returns:
- The probability P(Answer = correct) for the item/user

getGuessingProb

public double getGuessingProb()
Returns:
the guessingProb

setGuessingProb

public void setGuessingProb(double guessingProb)
Parameters:
guessingProb - the guessingProb to set