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.3.tar.gz
(38.5 kB
view details)
File details
Details for the file questplus-0.0.3.tar.gz
.
File metadata
- Download URL: questplus-0.0.3.tar.gz
- Upload date:
- Size: 38.5 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 | ccc1f70c1ee0400bfa76a8cb32f867c17d124d78a798c7f9643eb451a85afbfe |
|
MD5 | c9b2bb2f85977a51761917e8a9caa0e9 |
|
BLAKE2b-256 | c02b4a1e1684b32a2436d005b378bd614205fab088c32191e97ad4427109e921 |