Skip to main content

Bayesian IRT models in Python

Project description


Bayesian IRT models in Python


This repository includes code for fitting Item Response Theory (IRT) models using variational inference.

At present, the one parameter logistic (1PL) model, aka Rasch model, is implemented. The user can specify whether vague or hierarchical priors are used. Two- and three-parameter logistic models are in the pipeline and will be added when available.


py-irt is now available on PyPi!


  1. Install PyTorch.
  2. Install Pyro
  3. Install py-irt:
pip install py-irt 


If you use this code, please consider citing the following paper:

  author    = {Lalor, John P and Wu, Hao and Yu, Hong},
  title     = {Learning Latent Parameters without Human Response Patterns: Item Response Theory with Artificial Crowds},
  year      = {2019},
  booktitle = {Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing},

Implementation is based on the following paper:

  title={Bayesian prior choice in IRT estimation using MCMC and variational Bayes},
  author={Natesan, Prathiba and Nandakumar, Ratna and Minka, Tom and Rubright, Jonathan D},
  journal={Frontiers in psychology},


This is research code. Pull requests and issues are welcome!


Let me know if you have any requests, bugs, etc.


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py-irt, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size py_irt-0.0.3-py3-none-any.whl (6.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size py-irt-0.0.3.tar.gz (4.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page