This script is in part based on the original gnatdemo.iqjs by Brian Nosek (nosek@virginia.edu)
Last Modified: January 07, 2024 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements an Alcohol Go-Nogo Association Task (GNAT). The Alcohol GNAT uses the Go-Nogo framework of responding to signal and noise stimuli to investigate implicit bias towards alcohol. In contrast to reaction time based tests of implicit bias (e.g. Implicit Association Test), the GNAT framework mainly focuses on accuracy data and specifically d prime measures (measures of sensitivity to distinguish signals from noise in signal detection theory) to infer implicit bias. Within the GNAT framework, greater sensitivity to distinguish the signals (here: alcohol) from noise (here: non-alcoholic drinks) if the signal is paired with one attributeA (here: good) than if it's paired with another attributeB (here: bad) is indicative of a stronger association between the target category and attributeA (here: alcohol-good) than between the target and attribut B (here: alcohol-bad).
The implemented procedure is similarly to:
Obasi, E.M., Cavanagh, L., Pittman, D.M., & Brooks, J.J. (2016). Effects of evaluative context in implicit cognitions associated with alcohol and violent behaviors. Addictive Behaviors Reports 3 (2016) 48–55
GNAT Literature
Nosek, B. A., & Banaji, M. R. (2001). The go/no-go association task. Social Cognition, 19(6), 625-666.
Adjustments to z-scores as recommended by: Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility: Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)
10 minutes
Participants are asked to categorize attributes (e.g. "happy"; "unhappy") and target items (e.g "BEER") into predetermined categories via keystroke presses.
The basic go-nogo task is to press the Spacebar if an item (e.g. "happy") belongs to the category currently being tested (e.g. "Good" = signal items) and to do nothing if it doesn't (= noise items).
For practice, participants sort items into signal categories "Good" (as opposed to noise: items from 'Bad' category), "Bad" (as opposed to noise: items from 'Good' category), and "Alcoholic Drinks" (as opposed to noise: items from "non-alcoholic drinks" category).
For the test, participants are asked to sort items into the paired/combined categories (e.g. "Alcoholic Drinks OR Good" and "Alcoholic Drinks OR Bad"). When an item belongs to either one of these two categories, participants should press the Spacebar. If an item belongs to neither, participants should simply wait for the next item to come on screen.
Default GNAT Set-Up in this script:
(1) 3 training blocks: one training block each for categorizing targetA (signal: alcoholic drinks vs. noise: nonalcoholic drinks),
attributeA (signal: good vs. noise: bad), attributeB (signal: bad vs. noise: good)
with response timeout of 1000ms (editable under section Editable Values)
-> block order is determined randomly
-> run 20 trials each (10 target:10 noise)
(2) 2 test blocks that combine targets (here: alcoholic drinks) and attributes (either good or bad)
with a faster response timeout (default: 750ms)
-> block order of pairings is determined randomly
-> each block runs 16 'practice trials' followed by 60 test trials (summary variables based on test trial performance only)
-> signal : noise = 1 : 1
(3) 2 test blocks that combine targets (here: alcoholic drinks) and attributes (either good or bad)
with an even faster response timeout (default: 550ms)
-> block order of pairings is determined randomly
-> each block runs 16 'practice trials' followed by 60 test trials (summary variables based on test trial performance only)
-> signal : noise = 1 : 1
• Number of trials run as well as 'signal : noise' ratios can only be edited on block level (see section BLOCKS)
24 stimuli are used for signals (ALCOHOLIC DRINKS) and noise items.
Go to section Editable Stimuli to check out the stimuli.
the default set-up in this script uses alcoholic drinks as the signals and and non-alcoholic drinks as noise items.
see section Editable Instructions
File Name: alcoholgnat_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
Parameter Values |
|
| responseTimeout2Signal | Stores the response timeouts in ms used for signals in the first gnat round (2 blocks) in this script (default: 700ms) |
| responseTimeout2Noise | Stores the response timeouts in ms used for noise in the first gnat round (2 blocks) in this script (default: 700ms) |
| responseTimeout3Signal | Stores the response timeouts in ms used in this study for signals in the second gnat round (2 blocks) in this script (default: 550ms) |
| responseTimeout3Noise | Stores the response timeouts in ms used for noise in the second gnat round (2 blocks) in this script (default: 550ms) responsetimeouts1 (1000ms) are used for practice only |
Performance Metrics |
|
| propCorrectAA | Overall proportion correct for pairing targetA-attributeA (here: alcoholic drinks-good); test trials only |
| propCorrectABd | Overall proportion correct for pairing targetA-attributeB (here: alcoholic drinks-bad); test trials only AA Condition signals = alcoholic or good stims noise = anything else (non-alcoholic or bad stims) |
| rHitAA | Hit rate for pairing targetA-attributeA across all responsetimeouts; test trials only hit: pressing spacebar for signals (alcoholic OR good stims) in AA condition |
| rMissAA | Miss rate for pairing targetA-attributeA across all responsetimeouts; test trials only miss: not pressing spacebar for signals (alcoholic OR good stims) in AA condition |
| rFaAA | False alarm (FA) rate for pairing targetA-attributeA across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (non alcoholic OR bad stims) in AA condition |
| rCrAA | Correct rejection (CR) for pairing targetA-attributeA (here: alcoholic drinks-good) across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (non alcoholic OR bad stims) in AA condition |
| zHitAA | Z-score of hit rate for pairings targetA-attributeA (here: alcoholic drinks-good) |
| zFaAA | Z-score of FA rate for pairings targetA-attributeA (here: alcoholic drinks-good) *Adjustments to z-scores as recommended by Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148) => Adjustments are made if the FArate (hitRate) = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| dPrimeAA | Computes d' (parametric measure of discriminability btw. signals and noise) for 'alcoholic drink-Good' Pairings => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (go stims) were distinguished from noise (nogo stims) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) |
| cAA | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (go stims) is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) AB Condition signals = alcoholic or bad stims noise = anything else (non-alcoholic or good stims) |
| rHitAB | Hit rate for pairing targetA-attributeB across all responsetimeouts; test trials only hit: pressing spacebar for signals (alcoholic OR bad words) in AA condition |
| rMissAB | Miss rate for pairing targetA-attributeB across all responsetimeouts; test trials only miss: not pressing spacebar for signals (alcoholic OR bad words) in AA condition |
| rFaAB | False alarm (FA) rate for pairing targetA-attributeB across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (non alcoholic OR good words) in AA condition |
| rCrAB | Correct rejection (CR) for pairing targetA-attributeB across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (non alcoholic OR good words) in AA condition |
| zHitAB | Z-score of hit rate for pairings targetA-attributeA (here: alcoholic drinks-bad) |
| zFaAB | Z-score of FA rate for pairings targetA-attributeA (here: alcoholic drinks-bad) |
| dPrimeAB | Computes d' (parametric measure of discriminability btw. signals and noise) for 'alcoholic drink-bad' Pairings |
| cAB | C-criterion for for 'alcoholic drink-bad' Pairings |
| dPrimeDiff | The difference in dprimes for 'Alcohol-Good' and 'Alcohol-Bad' pairings (dPrimeAA-dPrimeAB) => if d prime for Alcohol-Good is larger than for Alcohol-Bad (positive difference) participant more closely associated Alcohol with Good attributes than with Bad attributes, (IF the noise category was 'non-alcoholic' beverages) => if d prime for Alcohol-Good is smaller than for Alcohol-Bad (negative difference) participant more closely associated Alcohol with Bad attributes than with Good attributes, (IF the noise category was 'non-alcoholic' beverages) |
File Name: alcoholgnat_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| responseTimeoutTarget | Time in ms that is allowed for response in a given target trial |
| responseTimeoutNoise | Time in ms that is allowed for response in a given noise trial |
| signal | 1 = signal trial (spacebar response is correct) 0 = noise trial (no response is correct) |
| phase | "training" (one category) vs. "test" (two categories) |
| targetType | "A"(here: A-alcoholic drinks) |
| pairing | "AA" -> targetA-attributeA (here: alcoholic drinks and good) "AB" -> targetA-attributeB (here: alcoholic drinks and bad) |
| trialType | Training phase: "training" test phase: "practice" vs. "test" |
| stimulusItem | The presented stimulusitems in order of presentation in stimulusframes (see trials) |
| response | Response made (either 57 = Spacebar or 0 for no response) |
| correct | The accuracy of response (1 = correct; 0 = error) |
| latency | The latency of the response in ms (or if no response: response timeout duration) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| responseTimeout1Signal | Stores the longest response timeouts in ms used in this study for targets by default, the longest response timeout in this script is used for practice blocks that test attributes and targets separately (default: 1000ms) | |
| responseTimeout2Signal | Stores the next response timeouts in ms used in this study for targets by default, in this script this is the first response time used for blocks that test attributes and targets simultaneously (default 750ms) | |
| responseTimeout3Signal | Stores the next response timeouts in ms used in this study for targets by default, this is the second response time used for bloc ks that test attributes and targets simultaneously (default 550ms) (same for noise trials: by default they are the same in this script) | |
| isi | Stores the interstimulus interval (time between offset of one stimulus and onset of next) |