Abstract Matrix Reasoning - Form 2

Technical Manual

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

Background

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)

References

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

Duration

20 minutes

Description

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).

Procedure

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.

Transformation Problems:
"11" => level1, difficulty1 (simple transformation)
"12" => level1, difficulty2 (diagonal transformation)
"13" => level3, difficulty3 (outward transformation)

"21" => level2, difficulty1 (2 simple transformations)
"22" => level2, difficulty2 (2 diagonal transformations)
"23" => level2, difficulty3 (1 diagonal transformation + 1 outward transformation)

"31" => level3, difficulty1 (2 simple transformations + 1 diagonal transformation)
"32" => level3, difficulty2 (1 simple transformation + 2 diagonal transformations)
"33" => level3, difficulty3 (2 diagonal transformations + 1 outward transformation)

Logic Problems:
"41" => level4, difficulty1 (disjunction logic problem)
"42" => level4, difficulty2 (conjunction logic problem)
"43" => level4, difficulty3 (exclusive disjunction logic problem)

The problems in this script are randomly selected from their respective problem pools.
For example:
list.level11 contains the itemnumber of all problems that can be selected for level1, difficulty1 problems
The problem pool lists can be customized to run fixed lists instead.


Additional Comments: Difficulty Assignment
The assignment of 'difficulty' is based on results and discussion of
Matzen et al (2010)

Basic Progression of Difficulty:

(1) Transformational Matrices
a) Simple transformations (vertical and horizontal),
b) Diagonal transformations
c) Outward transformation

Matzen et al (2010) report the general finding that the more transformations of each kind a problem
contains the harder it gets. However, some restrictions apply:
- For example, for level1 problems, diagonal problems were not statistically more difficult than simple transformations

(2) Logic Matrices
a) disjunction
b) conjuction
c) exclusive disjunction

While Matzen et al (2010) report that the disjunction problems were easier than
conjunction or exlusive disjunction problems, the difference was not statistically significant

Stimuli

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.

Running Your Own Matrix Problems
By replacing the images used in this script with your own (images should conform to the layout of matrix images
and images of answer choices) under item.matrices/item.matrices_answers/item.matrices_correctanswers
you could run your own matrix problems with this script.

See script matrixreasoning_stimuli_versionX_inc.iqjs for the specific problems run by this script.

Instructions

provided by Millisecond - can be edited in script matrixreasoning_instructions_inc.iqjs

Summary Data

File Name: matrixreasoning_versionx_summary*.iqdat

Data Fields

NameDescription
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

Raw Data

File Name: matrixreasoning_versionx_raw*.iqdat

Data Fields

NameDescription
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)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
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