Skip to main content

Computerized Adaptive Testing Simulator

Project description

Logo


Unit tests Test Coverage Latest Version Requirements Status Digital Object Identifier

catsim is a Python package for computerized adaptive testing (CAT) simulations. It provides multiple methods for:

These methods can either be used in a standalone fashion [1] to power other software or be used with catsim to simulate the application of computerized adaptive tests [2], given a sample of examinees, represented by their proficiency levels, and an item bank, represented by their parameters according to some logistic Item Response Theory model.

What's a CAT

Computerized adaptive tests are educational evaluations, usually taken by examinees in a computer or some other digital means, in which the examinee's proficiency is evaluated after the response of each item. The new proficiency is then used to select a new item, closer to the examinee's real proficiency. This method of test application has several advantages compared to the traditional paper-and-pencil method or even linear tests applied electronically, since high-proficiency examinees are not required to answer all the easy items in a test, answering only the items that actually give some information regarding his or hers true knowledge of the subject at matter. A similar, but inverse effect happens for those examinees of low proficiency level.

More information is available in the docs and over at Wikipedia.

Installation

Install it using pip install catsim.

Basic Usage

NEW: there is now a Colab Notebook teaching the basics of catsim!

  1. Have an item matrix;
  2. Have a sample of examinee proficiencies, or a number of examinees to be generated;
  3. Create an initializer, an item selector, a proficiency estimator and a stopping criterion;
  4. Pass them to a simulator and start the simulation.
  5. Access the simulator's properties to get specifics of the results;
  6. Plot your results.
from catsim.initialization import RandomInitializer
from catsim.selection import MaxInfoSelector
from catsim.estimation import HillClimbingEstimator
from catsim.stopping import MaxItemStopper
from catsim.simulation import Simulator
from catsim.cat import generate_item_bank
initializer = RandomInitializer()
selector = MaxInfoSelector()
estimator = HillClimbingEstimator()
stopper = MaxItemStopper(20)
Simulator(generate_item_bank(100), 10).simulate(initializer, selector, estimator, stopper)

Dependencies

All dependencies are listed on setup.py and should be installed automatically.

To run the tests, you'll need to install the testing requirements pip install catsim[testing].

To generate the documentation, Sphinx and its dependencies are needed.

Compatibility

Since the beginning, catsim has only been compatible with Python 3.4 upwards.

Important links

Citing catsim

You can cite the package using the following bibtex entry:

@article{catsim,
    author = {{De Rizzo Meneghetti}, Douglas and Aquino Junior, Plinio Thomaz},
        title = "{Application and Simulation of Computerized Adaptive Tests Through the Package catsim}",
    journal = {arXiv e-prints},
    keywords = {Statistics - Applications},
        year = 2017,
        month = jul,
        eid = {arXiv:1707.03012},
        pages = {arXiv:1707.03012},
archivePrefix = {arXiv},
    eprint = {1707.03012},
primaryClass = {stat.AP}
}

Project details


Download files

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

Source Distribution

catsim-0.15.7.tar.gz (45.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

catsim-0.15.7-py3-none-any.whl (48.9 kB view details)

Uploaded Python 3

File details

Details for the file catsim-0.15.7.tar.gz.

File metadata

  • Download URL: catsim-0.15.7.tar.gz
  • Upload date:
  • Size: 45.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for catsim-0.15.7.tar.gz
Algorithm Hash digest
SHA256 94a4e02b6d5da1e46161aa6873e7b399a2ba5675a75e7202bd3bca6b321a4a83
MD5 9e45e1789cfadf8f4465350e37b7da12
BLAKE2b-256 3aebd86af15a1fc23ad96c54ac566dd2133391c2b32227e67883e4699322cb69

See more details on using hashes here.

File details

Details for the file catsim-0.15.7-py3-none-any.whl.

File metadata

  • Download URL: catsim-0.15.7-py3-none-any.whl
  • Upload date:
  • Size: 48.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for catsim-0.15.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0d601b76f7be11fe1de62cd68091aea50235855672f96f6d82b7ab393fee2b14
MD5 d2178a45b45e35a50f50d6d8ad4966f3
BLAKE2b-256 da141d69eabe793e42620bc59f0b41b7f0a113adb57f8fa3db7402db6d197015

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page