Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 2.21 KB

README.md

File metadata and controls

85 lines (61 loc) · 2.21 KB

cymr

PyPI version Documentation Status Build Status codecov DOI

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.

Installation

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.

Quickstart

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.

Unit tests

First, install extra packages needed for testing:

pip install .[test]

To run all tests (from the main repository directory)

pytest

Benchmark

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