def testSyntheticItemResponseTheoryHMC(self): """Checks approximate samples from the model against the ground truth.""" model = item_response_theory.SyntheticItemResponseTheory() self.validate_ground_truth_using_hmc( model, num_chains=4, num_steps=4000, num_leapfrog_steps=10, step_size=0.025, )
def testSyntheticItemResponseTheory(self): """Checks that you get finite values given unconstrained samples. We check `unnormalized_log_prob` as well as the values of the sample transformations. """ model = item_response_theory.SyntheticItemResponseTheory() self.validate_log_prob_and_transforms( model, sample_transformation_shapes=dict(identity={ 'mean_student_ability': [], 'student_ability': [400], 'question_difficulty': [100], }, ), check_ground_truth_mean_standard_error=True, check_ground_truth_mean=True, check_ground_truth_standard_deviation=True, )