A QUEST+ implementation in Python.
Project description
A QUEST+ implementation in Python
This is a simple implementation of the QUEST+ algorithm in Python.
Requirements
- Python 3.6+
xarray
scipy
Usage
import numpy as np
import questplus as qp
# Stimulus domain.
intensities = np.arange(start=-3.5, stop=-0.5+0.25, step=0.25)
stim_domain = dict(intensity=intensities)
# Parameter domain.
thresholds = intensities.copy()
slopes = np.linspace(0.5, 15, 5)
lower_asymptotes = np.linspace(0.01, 0.5, 5)
lapse_rate = 0.01
param_domain = dict(threshold=thresholds,
slope=slopes,
lower_asymptote=lower_asymptotes,
lapse_rate=lapse_rate)
# Outcome (response) domain.
responses = ['Yes', 'No']
outcome_domain = dict(respose=responses)
# Further parameters.
func = 'weibull'
stim_scale = 'log10'
stim_selection_method = 'min_entropy'
param_estimation_method = 'mean'
# Initialize the QUEST+ staircase.
q = qp.QuestPlus(stim_domain=stim_domain,
func=func,
stim_scale=stim_scale,
param_domain=param_domain,
outcome_domain=outcome_domain,
stim_selection_method=stim_selection_method,
param_estimation_method=param_estimation_method)
trial_count = 20
for current_trial_number in range(1, trial_count+1):
next_stim = q.next_stim
print(f'Please present stimulus {next_stim}.')
# Retrieve response
# ...
# outcome = dict(response='Yes') or
# outcome = dict(response='No')
q.update(stim=next_stim, outcome=outcome)
# Print parameter estimates.
with np.printoptions(precision=3, suppress=True):
print('f\nParameter estimates: {q.param_estimate}')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
questplus-0.0.2.tar.gz
(38.2 kB
view details)
File details
Details for the file questplus-0.0.2.tar.gz
.
File metadata
- Download URL: questplus-0.0.2.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf2cc238f1a2207182433fa0698507155705edc4e9f079c28b81ee062e6af25b |
|
MD5 | a2a548d8e28a1591caf96f8585b75d6f |
|
BLAKE2b-256 | a3cb6d69a98aa49b9d3d0b5c8adaf4a81e77c4574e128b39d96a3c45536c3c14 |