Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 08, 2022
Last Modified: January 08, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's computerized version of a matrix reasoning task inspired by the Raven Matrix Reasoning Test of non-verbal intelligence and reasoning skills.
Matrices are taken from the published matrices of Matzen et al (2010). The published software by Matzen et al (2010) can be further used to generate new and unique matrices.
This script runs version1 of 5 alternate versions (Note: the five versions provided should theoretically be of similar difficulties but that has not been empiricially validated yet)
Matzen, L. E., Benz, Z. O., Dixon, K. R., Posey, J., Kroger, J. K., & Speed, A. E. (2010). Recreating Raven’s: Software for systematically generating large numbers of Raven-like matrix problems with normed properties. Behavior research methods, 42(2), 525-541. https://doi.org/10.3758/BRM.42.2.525
Matrices downloaded from: https://github.com/LauraMatzen/Matrices
20 minutes
Participants are given twelve 3x3 matrices. Each matrix is missing its last piece. Below the matrix are eight alternative pieces to complete the figure, only one of which is correct. Each matrix involves a different set of transformations or rule for obtaining the missing piece. The matrices are roughly arranged in increasing order of difficulty. The test is self-paced with a time limit of 2 hours (editable).
By default, this script run 12 matrices that roughly increase in difficulty (see list.matrices for option to
change to a random presentation of the matrizes). Each matrix provides
8 answer choices to choose from. Participants can change their selection until they press the
'Submit' button. The test is self-paced. By default, the time limit of the test is "none" which
gives participants 2hours by design.
Please note that the assignment of 'difficulty' in this script is based on results and discussion
of Matzen et al (2010). See further notes below.
The selection has not been empirically validated.
matrices downloaded from: https://github.com/LauraMatzen/Matrices
This script only uses the matrices that can be assigned to the level-difficulty categories
defined in this script. Twelve of these items were selected to run this version of the
Inquisit Matrix Reasoning Script.
provided by Millisecond - can be edited in script matrixreasoning_instructions_inc.iqjs
File Name: matrixreasoning_versionx_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| matrixCount | The number of matrix problems run |
| propCorrectOverall | Proportion correct across all matrices |
| meanRTOverall | Mean problem RT (across correct and incorrect solutions) across all matrices |
| meanCorrRTOverall | Mean correct problem RT across all correctly solved items |
Transformation Problems |
|
| countLevel1 | The number of level1 problems run |
| propCorrectLevel1 | Proportion correct across all 3 level1 items |
| meanRTLevel1 | Mean problem RT (across correct and incorrect solutions) across all level1 items |
| meanCorrRTLevel1 | Mean correct problem RT across all correctly solved level1 items |
| countLevel2 | The number of level2 problems run |
| propCorrectLevel2 | Proportion correct across all 3 level2 items |
| meanRTLevel2 | Mean problem RT (across correct and incorrect solutions) across all level2 items |
| meanCorrRTLevel2 | Mean correct problem RT across all correctly solved level2 items |
| countLevel3 | The number of level3 problems run |
| propCorrectLevel3 | Proportion correct across all 3 level3 items |
| meanRTLevel3 | Mean problem RT (across correct and incorrect solutions) across all level3 items |
| meanCorrRTLevel3 | Mean correct problem RT across all correctly solved level3 items |
Logic Problems |
|
| countLevel4 | The number of level4 problems run |
| propCorrectLevel4 | Proportion correct across all 3 level4 items |
| meanRTLevel4 | Mean problem RT (across correct and incorrect solutions) across all 3 level4 items |
| meanCorrRTLevel4 | Mean correct problem RT across all correctly solved level4 items |
File Name: matrixreasoning_versionx_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| version | The matrix reasoning task version run |
| matrixCount | A counter tracks the number of matrices run |
| level | The level of the current matrix (1, 2, 3, 4 = logic problems) |
| matrix | The itemnumber of the current matrix |
| matrixImage | The image file of the current matrix |
| correctAnswer | Stores the correct answer for the current matrix (1-8) number from left to right, top to bottom |
| currentAnswer | The currently selected answer |
| problemRT | The time (in ms) it took to work on the problem |
| response | The response of participant once response = 'submit', accuracy and final problemRT are calculated |
| correct | Correctness of response (1 = correct, 0 = otherwise) accuracy is established once the submit button is pressed (aka participants commits to an answer) |
| latency | Response latency (in ms) of the current trial; measured from: onset of trial |
Debugging |
|
| debugmode | For testing sessions, this parameter should be 0 (see editable parameter settings) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| timeLimitMS | The time limit (in ms) for all problems by default, there is no time limit for this problem ("none"). If set to "none" the script will terminate after 2 hours if not completed earlier | "none" |
| showTimer | True = show a timer in the upper right corner of the screen false = don't show the timer | false |
Debugging Parameter |
||
| debugmode | 1 = the script provides the correct response to double check the correctness of the coding 0 = no correct response is provided on screen (should be used for testing) | 0 |