In order to make the model code more generic, and enable easier implementation of BAD for other experimental domains, then I need a slight refactor of the models.
Model base class
[x] change predictive_y to be an abstract method, such that each concrete model class implements this method instead.
[x] remove calc_decision_variable as an abstract method. This is too specific and is not needed in general. We can keep it if we like in concrete model classes for DARC if that is convenient, but it is not a necessity.
All concrete models inheriting from Model
[x] implement the predictive_y method
Dealing with choice functions
[x] import choice functions into concrete models.py and call the desired choice function in the concrete model classes.
In order to make the model code more generic, and enable easier implementation of BAD for other experimental domains, then I need a slight refactor of the models.
Model
base classpredictive_y
to be an abstract method, such that each concrete model class implements this method instead.calc_decision_variable
as an abstract method. This is too specific and is not needed in general. We can keep it if we like in concrete model classes for DARC if that is convenient, but it is not a necessity.All concrete models inheriting from
Model
predictive_y
methodDealing with choice functions
Some method renaming, for convenience
get_simulated_response
tosimulate_y
_θ_initial
to_sample_from_prior
Cleaning up