@@ -26,14 +26,15 @@ function compute_criterion(
2626 return - item_criterion. expected_item_information (ir, ability)
2727end
2828
29- struct InformationMatrixCriteria{AbilityEstimatorT <: AbilityEstimator , F} < :
29+ struct InformationMatrixCriteria{AbilityEstimatorT <: AbilityEstimator , F, G } < :
3030 ItemMultiCriterion
3131 ability_estimator:: AbilityEstimatorT
32- expected_item_information:: F
32+ known_item_information:: F
33+ expected_item_information:: G
3334end
3435
3536function InformationMatrixCriteria (ability_estimator)
36- InformationMatrixCriteria (ability_estimator, expected_item_information)
37+ InformationMatrixCriteria (ability_estimator, expected_item_information, expected_item_information )
3738end
3839
3940function init_thread (item_criterion:: InformationMatrixCriteria ,
@@ -42,7 +43,8 @@ function init_thread(item_criterion::InformationMatrixCriteria,
4243 # θ update.
4344 # TODO : Update this to use track!(...) mechanism
4445 ability = maybe_tracked_ability_estimate (responses, item_criterion. ability_estimator)
45- responses_information (responses. item_bank, responses. responses, ability)
46+ responses_information (responses. item_bank, responses. responses, ability;
47+ information_func= item_criterion. known_item_information)
4648end
4749
4850function compute_multi_criterion (
@@ -52,9 +54,9 @@ function compute_multi_criterion(
5254 # TODO : Add in information from the prior
5355 ability = maybe_tracked_ability_estimate (
5456 tracked_responses, item_criterion. ability_estimator)
55- return acc_info .+
56- item_criterion. expected_item_information (
57+ exp_info = item_criterion. expected_item_information (
5758 ItemResponse (tracked_responses. item_bank, item_idx), ability)
59+ return acc_info .+ exp_info
5860end
5961
6062should_minimize (:: InformationMatrixCriteria ) = false
0 commit comments