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.1.tar.gz (24.3 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.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kriterion-0.1.1.tar.gz
  • Upload date:
  • Size: 24.3 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.1.tar.gz
Algorithm Hash digest
SHA256 a2e88b96b7ac8e5a157f26392a273fd6876a487c4c7a5afdee1a4ab04e51a414
MD5 a93ed23138966d94c7a8c912cc2389f2
BLAKE2b-256 f5b7a4df4055273f4a8b01722529b7c04898bb96cfe77983a547d00578f8279c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kriterion-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: kriterion-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e0a0f00d988157169c9b846a2129b80f048cf35f87343395a65acdd079298d3a
MD5 83fb405add47f7d8f1d4a2cc4120d770
BLAKE2b-256 9f0a583f1787b3138c96a005c7f30d640c438f90ba3efee3f38e30c115bf544b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kriterion-0.1.1-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