Package for fitting and simulating free recall data. Includes a fast implementation of the context maintenance and retrieval (CMR) model using Cython.
See the website for full documentation.
For the latest stable version:
pip install cymr
To get the development version:
pip install git+https://github.com/mortonne/cymr
To install for development, clone the repository and run:
python install -e .
This will set links to the package modules so that you can edit the source code and have changes be reflected in your installation.
Fit the context maintenance and retrieval model (CMR) to sample data:
from cymr import fit, cmr
# load sample data
data = fit.sample_data('Morton2013_mixed').query('subject <= 3')
# define model weights
n_items = 768
param_def, patterns = cmr.config_loc_cmr(n_items)
param_def.set_fixed(
T=0.1, Lfc=0.15, Lcf=0.15, Afc=0, Acf=0, Dfc=0.85, Dcf=0.85,
P1=0.2, P2=2, B_start=0.3, B_rec=0.9, X1=0.001, X2=0.25
)
param_def.set_free(B_enc=(0, 1))
# fit the model to sample data
model = cmr.CMR()
results = model.fit_indiv(data, param_def, patterns=patterns, tol=0.1)
See the documentation for details.
First, install extra packages needed for testing:
pip install .[test]
To run all tests (from the main repository directory)
pytest
To run a speed benchmark test, first install snakeviz (pip install snakeviz
).
To run likelihood calculation with a sample dataset and then display an html
report:
./benchmark