Script Author: Marisa Okano
Credits:
Millisecond thanks Marisa Okano for sharing her script!
Last Modified: January 04, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This “Attraction pGNAT” is a modified version of the Go/No-go Association Task (GNAT), which was originally designed to measure automatic associations regarding a single target construct (Nosek & Banaji, 2001). Specifically, the same basic procedure of the GNAT is used to assess the strength of participants' positive versus negative associations regarding a single target category (e.g. physical attractiveness); however, the GNAT will be modified to reflect the personalized version utilized in the study of explicit and implicit preferences of physical attractiveness by Eastwick, Eagly, Finkel, & Johnson (2011).
In general, the GNAT uses uses the Go-Nogo framework of responding to signal and noise stimuli to investigate implicit bias. 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.
For example, a positive association of 'physical attractiveness' (the target signal) is suggested if the dprime measure in the condition 'Physical Attractiveness-I like' (both of these categories are signals) is greater than the dprime measure in the condition 'Physical Attractiveness-I don't like' (both of these categories are signals).
This script investigates the following three categories: •PA = physical appearance •SS = social status •PE = personality by pairing them with the attribute categories 'I like' vs. 'I don't like'
The implemented procedure of the “Attraction pGNAT” is based on Eastwick et al (2011).
20 minutes
Participants are asked to categorize items (e.g words "attractive", "wealthy" etc) into predetermined categories via keystroke presses. The basic task is to press the Spacebar if an items (e.g. "attractive") belongs to the category currently being tested (e.g. Physical Appearance) and to do nothing if it doesn't. For practice, participants sort items into categories "Physical Appearance", "Social Status", "Personality" as well as evaluative preference categories "I like" and "I don't like". For the test, participants are asked to sort categories into the paired/combined categories (e.g. "Physical Appearance OR I don't like"). When an item belongs to either one of these two categories, participants should press the Spacebar.
3 target categories (Physical Appearance (PA), Social Status (SS), and Personality (PE)) x 2 preference categories (like vs. dislike)
• 3 practice blocks of categorizing items into 3 target categories Physical Appearance (PA), Social Status (SS), and Personality (PE)
=> target categories are tested in blocked format, order of blocks is random
=> 25 trials each
• 2 practice blocks of categorizing items into 2 preference categories (Like/Dislike)
=> preference categories are tested in blocked format, order is random
=> 20 trials each
• 6 test blocks: combination of 3 target categories (PA, SS, PE) x 2 like categories (like, dislike)
categorization of items into paired/combined categories (e.g. sort items into "Physical Appearance" OR "I like")
=> combined categories are tested in blocked format, order of the test blocks is random
=> 15 practice trials followed by 60 test trials
• responsewindow:
practice: 750ms
test: 1000ms
under section Editable Stimuli
under section Editable Instructions as well as section Instructions
File Name: attraction_pgnat_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 |
Pa-Like Condition: Signals = Physical Appearance (Pa), Like Attributes; Noise = Anything Else (Objects Or Dislike Attributes) |
|
| rHitPALike | Hit rate for pairing PA-like across all responsetimeouts; test trials only hit: pressing spacebar for signals (Physical Appearance (PA) OR like) in PALike condition |
| rMissPALike | Miss rate for pairing PA-like across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Physical Appearance (PA) OR like) in PALike condition |
| rFaPALike | False alarm (FA) rate for pairing PA-like across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR dislike) in PALike condition |
| rCrPALike | Correct rejection (CR) for pairing PA-like across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR dislike) in PALike condition |
| zHitPALike | Z-score of hit rate for pairings PA-like (here: Physical Appearance (PA)-like) |
| zFaPALike | Z-score of FA rate for pairings PA-like (here: Physical Appearance (PA)-like) |
| dPrimePALike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Physical Appearance (PA)-like' 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) |
| cPALike | 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) |
Pa-Dislike Condition: Signals = Physical Appearance (Pa), Dislike Attributes; Noise = Anything Else (Objects Or Like Attributes) |
|
| rHitPADislike | Hit rate for pairing PA-dislike across all responsetimeouts; test trials only hit: pressing spacebar for signals (Physical Appearance (PA) OR dislike) in PADislike condition |
| rMissPADislike | Miss rate for pairing PA-dislike across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Physical Appearance (PA) OR dislike) in PADislike condition |
| rFaPADislike | False alarm (FA) rate for pairing PA-dislike across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR like) in PADislike condition |
| rCrPADislike | Correct rejection (CR) for pairing PA-dislike across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR like) in PADislike condition |
| zHitPADislike | Z-score of hit rate for pairings PA-dislike (here: Physical Appearance (PA)-dislike) |
| zFaPADislike | Z-score of FA rate for pairings PA-dislike (here: Physical Appearance (PA)-dislike) |
| dPrimePADislike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Physical Appearance (PA)-dislike' Pairings |
| cPADislike | C-criterion in PADislike condition |
| dPrimeDiffTargetPA | The difference in dprime btw. PALike and PADislike (PALike-PADislike) => if d prime for Physical Appearance (PA)-like is larger than for Physical Appearance (PA)-dislike (positive difference) participant more closely associated PA with like than with dislike attributes => if d prime for Physical Appearance (PA)-like is smaller than for Physical Appearance (PA)-dislike (negative difference) participant more closely associated PA with dislike than with like attributes |
Ss-Like Condition: Signals = Social Status (Ss), Like Attributes; Noise = Anything Else (Objects Or Dislike Attributes) |
|
| rHitSSLike | Hit rate for pairing SS-like across all responsetimeouts; test trials only hit: pressing spacebar for signals (Social Status (SS) OR like) in SSLike condition |
| rMissSSLike | Miss rate for pairing SS-like across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Social Status (SS) OR like) in SSLike condition |
| rFaSSLike | False alarm (FA) rate for pairing SS-like across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR dislike) in SSLike condition |
| rCrSSLike | Correct rejection (CR) for pairing SS-like across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR dislike) in SSLike condition |
| zHitSSLike | Z-score of hit rate for pairings SS-like (here: Social Status (SS)-like) |
| zFaSSLike | Z-score of FA rate for pairings SS-like (here: Social Status (SS)-like) |
| dPrimeSSLike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Social Status (SS)-like' pairings |
| cSSLike | C-criterion |
Ss-Dislike Condition: Signals = Social Status (Ss), Dislike Attributes; Noise = Anything Else (Objects Or Like Attributes) |
|
| rHitSSDislike | Hit rate for pairing SS-dislike across all responsetimeouts; test trials only hit: pressing spacebar for signals (Social Status (SS) OR dislike) in SSDislike condition |
| rMissSSDislike | Miss rate for pairing SS-dislike across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Social Status (SS) OR dislike) in SSDislike condition |
| rFaSSDislike | False alarm (FA) rate for pairing SS-dislike across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR like) in SSDislike condition |
| rCrSSDislike | Correct rejection (CR) for pairing SS-dislike across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR like) in SSDislike condition |
| zHitSSDislike | Z-score of hit rate for pairings SS-dislike (here: Social Status (SS)-dislike) |
| zFaSSDislike | Z-score of FA rate for pairings SS-dislike (here: Social Status (SS)-dislike) |
| dPrimeSSDislike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Social Status (SS)-dislike' pairings |
| cSSDislike | C-criterion in SSDislike condition |
| dPrimeDiffTargetSS | The difference in dprime btw. SSLike and SSDislike (SSLike-SSDislike) => if d prime for Social Status (SS)-like is larger than for Social Status (SS)-dislike (positive difference) Participant more closely associated SS with like than with dislike attributes => if d prime for Social Status (SS)-like is smaller than for Social Status (SS)-dislike (negative difference) Participant more closely associated SS with dislike than with like attributes |
Pe-Like Condition: Signals = Personality (Pe), Like Attributes; Noise = Anything Else (Objects Or Dislike Attributes) |
|
| rHitPELike | Hit rate for pairing PE-like across all responsetimeouts; test trials only hit: pressing spacebar for signals (Personality (PE) OR like) in PELike condition |
| rMissPELike | Miss rate for pairing PE-like across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Personality (PE) OR like) in PELike condition |
| rFaPELike | False alarm (FA) rate for pairing PE-like across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR dislike) in PELike condition |
| rCrPELike | Correct rejection (CR) for pairing PE-like across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR dislike) in PELike condition |
| zHitPELike | Z-score of hit rate for pairings PE-like (here: Personality (PE)-like) |
| zFaPELike | Z-score of FA rate for pairings PE-like (here: Personality (PE)-like) |
| dPrimePELike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Personality (PE)-like' pairings |
| cPELike | C-criterion |
Pe-Dislike Condition: Signals = Personality (Pe), Dislike Attributes; Noise = Anything Else (Objects Or Like Attributes) |
|
| rHitPEDislike | Hit rate for pairing PE-dislike across all responsetimeouts; test trials only hit: pressing spacebar for signals (Personality (PE) OR dislike) in PEDislike condition |
| rMissPEDislike | Miss rate for pairing PE-dislike across all responsetimeouts; test trials only miss: not pressing spacebar for signals (Personality (PE) OR dislike) in PEDislike condition |
| rFaPEDislike | False alarm (FA) rate for pairing PE-dislike across all responsetimeouts; test trials only false alarm: pressing spacebar for noise stims (objects OR like) in PEDislike condition |
| rCrPEDislike | Correct rejection (CR) for pairing PE-dislike across all responsetimeouts; test trials only cr: not pressing spacebar for noise stims (objects OR like) in PEDislike condition |
| zHitPEDislike | Z-score of hit rate for pairings PE-dislike (here: Personality (PE)-dislike) |
| zFaPEDislike | Z-score of FA rate for pairings PE-dislike (here: Personality (PE)-dislike) |
| dPrimePEDislike | Computes d' (parametric measure of discriminability btw. signals and noise) for 'Personality (PE)-dislike' pairings |
| cPEDislike | C-criterion in PEDislike condition |
| dPrimeDiffTargetSS | The difference in dprime btw. PELike and PEDislike (PELike-PEDislike) => if d prime for Personality (PE)-like is larger than for Personality (PE)-dislike (positive difference) Participant more closely associated SS with like than with dislike attributes => if d prime for Personality (PE)-like is smaller than for Personality (PE)-dislike (negative difference) Participant more closely associated SS with dislike than with like attributes |
File Name: attraction_pgnat_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. |
| targetCategory | 1 = PA 1000 trial; 2 = SS 1000 trial; 3 = PE 1000 trial; 0 = other |
| testTrial | 0 = practice/training; 1 = testtrial (trialCount >= 20 in each testblock) |
| stimulusItem | The presented stimuli in order of trial presentation |
| response | The participant's response (57 = spacebar; 0 = noResponse) |
| correct | The correctness of the response (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms); measured from onset of stims |