Estimates difficulty of Lantern Questions using Maximum Likelihood Estimation.
- Make sure you have installed:
- Configure SnowSQL with your username in
~/.snowsql/config:
[connections]
username = "<your_username>"
- Install dependencies using uv:
uv sync- Create configuration file:
cp config.ini.example config.iniFetch student response data for a specific curriculum and date range:
uv run item_estimation/main.py fetch \
--region us \
--curriculum-id 15 \
--outfile lantern_responses.csv \
--begin-date 2025-10-01 \
--end-date 2025-12-31Note: A web browser will open automatically for Snowflake authentication. You'll need appropriate Snowflake access permissions.
Estimate item difficulties using the fetched data:
uv run item_estimation/main.py infer \
--curriculum-id 15 \
--infile lantern_responses.csv \
--outfile difficulties.csvResults are saved to the specified output file, and further results are saved
to result_folder as defined in config.ini.