Skip to content

Rational arbitration between statistics and rules in human sequence processing ▽👈🏼🧠

License

Notifications You must be signed in to change notification settings

maheump/Emergence

Repository files navigation

Emergence

This is the companion repository for the following article: Rational arbitration between statistics and rules in human sequence processing. The repository contains the scripts and functions needed to reproduce the analyses, simulations and fits presented in the paper.

Abstract of the paper

Detecting and learning temporal regularities is essential to accurately predict the future. A long-standing debate in cognitive science concerns the existence of a dissociation, in humans, between two systems, one for handling statistical regularities governing the probabilities of individual items and their transitions, and another for handling deterministic rules. Here, to address this issue, we used finger tracking to continuously monitor the online build-up of evidence, confidence, false alarms and changes-of-mind during sequence processing. All these aspects of behavior conformed tightly to a hierarchical Bayesian inference model with distinct hypothesis spaces for statistics and rules, yet linked by a single probabilistic currency. Alternative models based either on a single statistical mechanism or on two non-commensurable systems were rejected. Our results indicate that a hierarchical Bayesian inference mechanism, capable of operating over distinct hypothesis spaces for statistics and rules, underlies the human capability for sequence processing.

Example inference

Here is an example sequence with the beliefs from an example subject and from the ideal observer when presented with the very same sequence.

Installation

In order to get the toolbox up and running, run the following commands in the MATLAB command window:

>> !git clone https://github.com/maheump/Emergence.git
>> cd Emergence
>> SETUP

The script SETUP.m sets up the environment required to run the different scripts. It should be re-run each time MATLAB is restarted as the toolbox do not save any change (be them paths added to MATLAB path list or figures' default properties) it does to the MATLAB default configurations.

After calling that script, you are good to go!

Organization of the repository

  • Design: A set of scripts used to explain the experimental design.
  • Dependencies: Contains the general purpose MATLAB functions the toolbox depends upon.
  • Finger tracking analyses: Series of scripts, that can be run as a pipeline, that reproduce the analyses and figures of the paper.
  • Functions: A set of functions used by many different scripts in the repository. It contains mostly
  • Ideal observer: Functions implementing the full ideal observer of the task as well as partial observers learning one type of regularity (e.g. Bernoulli, ...). "Toy examples" simulation scripts are also provided to easily run the different models and inspect their behavior based on visual displays.
  • Stimulation: Scripts and functions used to run the behavioral experiment.

Compatibility issues

The code is written for MATLAB. Note that it has been developed under MATLAB 2018a (v9.5) with the Image Processing (v10.3), Signal Processing (v8.1) and Statistics and Machine Learning (v11.4) toolboxes.

Compatibility with earlier versions of MATLAB has not been tested and is therefore not granted. In particular at line 151 of the function Emergence_IO_Tree, instead of using the time-consumingrepmat function, we use a MATLAB fairly recently developed matrix logical computation.

Dependencies

These are the toolboxes and functions the toolbox depends upon. They are automatically downloaded and installed in the Dependencies folder of the toolbox.

Related toolbox

We developed another related toolbox that features Bayesian (near-)ideal observers estimating different statistics from an input sequence. It can, for instance, deal with sequences entailing more than a single change point.

About

Rational arbitration between statistics and rules in human sequence processing ▽👈🏼🧠

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages