Skip to main content

Library for signal detection theory analysis.

Project description

Kriterion

Kriterion logo

Kriterion is a Python library for analysing data using signal detection theory.

Key features:

  • Compute sensitivity and bias measures: d', c and more
  • Fit detection models to ROC data
  • Assess model fits

Installation

It is recommend to use a virtual environment when installing python packages (see here). Then:

python -m pip install kriterion

Dependencies

  • NumPy
  • SciPy

Usage

Check the docs for more details.

Example 1: Basic signal detection theory measures

With a single true positive and false positive rate, return all common detection measures:

from kriterion.measures import compute_performance


result = compute_performance(tpr=0.75, fpr=0.21)
print(result)
Performance(
    tpr=0.75,
    fpr=0.21,
    d_prime=1.480910997214322,
    a_prime=0.850886075949367,
    c_bias=0.06596574841107933,
    beta=1.1026202605581668,
    a_z=None
)

Example 2: Receiver operating characteristic (ROC) modelling

Given a set of rating-scale responses to signal and noise trials:

from kriterion.data import ROCData
from kriterion.fit import fit
from kriterion.models import  UnequalSignalDetection


data = ROCData(
    # Strongest "signal" <---> Strongest "noise"
    # All responses to signal-present trials
    signal=[505, 248, 226, 172, 144, 93],
    # All responses to signal-absent (i.e. noise) trials
    noise=[115, 185, 304, 523, 551, 397],
)

uvsdt = UnequalSignalDetection(data)

result = fit(uvsdt)
print(uvsdt.parameters)
{
    'd': 1.1830254066861041,
    'signal_sd': 1.337287925732202,
    'c0': 1.0405303717702958,
    'c1': 0.46634923592441596,
    'c2': -0.06932116955166004,
    'c3': -0.6973808897916125,
    'c4': -1.4561271120010804
}

print(result)
ModelSummary(
    dof=3,
    chi2=9.183606301259807,
    chi2_p=0.02694676677704899,
    g2=9.305614752213955,
    g2_p=0.02549179488508846,
    log_likelihood=-5761.067476662813,
    aic=11536.134953325625,
    bic=11579.184187136441,
    sse=0.0004422615018773785
)

uvsdt-fit

License

This project is licensed under the terms of the GPL-3.0 license.

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

kriterion-0.1.0.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

kriterion-0.1.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file kriterion-0.1.0.tar.gz.

File metadata

  • Download URL: kriterion-0.1.0.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kriterion-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ad3853e6be5fb5a557dff8efe225207b4c181e70473ea9d5e7a92e1ac1ead63e
MD5 d464db41fdf7af16a862757365b0661d
BLAKE2b-256 39b9d457d90736d5a89d53909722ddcf414daafea8cdd94a02ffbdd25062e1af

See more details on using hashes here.

Provenance

The following attestation bundles were made for kriterion-0.1.0.tar.gz:

Publisher: publish.yaml on lcdunne/kriterion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kriterion-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kriterion-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kriterion-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49028035a88d1633b968c5a453d56b2f4d586c7636525f01adba2c0a6af38a48
MD5 4f93935e869105b06fe61b0834540c60
BLAKE2b-256 c2880dc432878f437b84638bb16ac5f2c73d89db59a771708cb8481814fdf9ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for kriterion-0.1.0-py3-none-any.whl:

Publisher: publish.yaml on lcdunne/kriterion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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