DurhamARC / classroom-abm

Agent-based modelling for a classroom
MIT License
2 stars 2 forks source link

Allow daily variation in teacher variables #129

Open alisonrclarke opened 2 years ago

alisonrclarke commented 2 years ago

Try a couple of different options:

alisonrclarke commented 2 years ago

Running parameterisation on first option now.

Need to think about how the feedback could work. Peter says:

If we made the teachers actions linked to past success or failure that might help. In other words Teacher quality and/or control could be linking to the class progress say during the previous day. We could call this new parameter “rapport”.

We should think about whether this should apply to both quality and control, or whether we could have different feedback loops for each, e.g. quality depending on Maths score increase in previous day; control depending on the number of times each pupil was in red/yellow/green states on the previous day.

alisonrclarke commented 2 years ago

Parameter to determine length of period over which we use feedback (e.g. previous day vs previous week).

Increase/decrease both quality and control, based on how much maths score has increased per day. e.g. after first 5 days, see how increase compares with average.

MarkLTurner commented 2 years ago

Dmitry is adding the moving teacher quality feature to the model. In this feature teacher quality will be reassessed periodically (the exact period - days, weeks, months - will be determined by a parameter) in response to the change in pupil maths scores. As described above, if pupils do well the teacher quality goes up while if they perform poorly it goes down.

parnumeric commented 2 years ago

Periodic reassessment of the teacher quality has been implemented and being tested. The implementation details are as follows:

  1. The reassessment feedback period is set via a new env variable $FEEDBACK_WEEKS weeks in the run_parameterisation.sh file which sets all the necessary env variables which previously we set manually before running parameterisation.sh. Thus, run_parameterisation.sh is just a wrapper for parameterisation.sh.
  2. The reassessment formula is realised in the update_current_value() function (a new implementation) in the MesaModel/model/teacher_variable.py file. The formula modifies the next selected get_value from the pool of random values for teacher_quality slightly in the direction of math score change every $FEEDBACK_WEEKS weeks:

    new_value = get_value + teacher_quality_factor * teacher_quality_variation_sd * diff

Thus, the change of teacher_quality is made proportional to teacher_quality_factor, teacher_quality_variation_sd and increase (positive change) or decrease (negative change) of the mean math score.

Note: