Simulation framework for studying data collection biases using simulated student-item interactions. This framework produced results publish in Item Ordering Biases in Educational Data paper at AIED 2019 conference.
Python source code file with all the logic. Feel free to look around, make modifications, and extend.
The settings for simulations in JSON format. It is an easy way to change parameters independently of code.
A set of Python packages required to run the simulations. Can be easily installed with pip (Python package manager).
A folder where a simulation log is stored by default. Storing logs helps with reproducibility of results and saves time.
A folder where various plots, e.g., learning curves, are stored.
- Install all the required packages using
pip install -r requirements.txt
- Run
python simulations.py
If you wish to play with parameters, then scenarios.json is the place to look. You can easily create a new scenario by modifying and combining already existing scenarios.
If the parameter modification is not enough, you can create your own initial distributions, student learning modes, item selection mechanisms and much more in simulations.py. Most actions happen by chaining methods that modify the simulation state. There is no limit on the number of chained methods. They can also pass results between each other.