Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 03, 2016
Last Modified: January 03, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a version of the Evaluative Movement Assessment (EMA) procedure. The EMA is a response time measure of implicit evaluations. Specifically, this script is designed as a template and assesses people's implicit attitudes towards "weekend", "mosquito", and "airport" using well established EMA targets "cavities" and "movie theaters" as attitude calibration targets.
It is suggested that the calculated EMA scores for several target categories 1) help rank the evaluations on a single scale 2) provide a neutral preference point for the scale
Miguel Brendl, C.M, Arthur B. Markman, A.B. & Messner, C. (2005). Journal of Experimental Social Psychology, 41, 346–368.
30 minutes
Participants are asked to move words (targets and distractors) -that are displayed either to the right or left of their own name- either towards or away from the name. In this script, participants move the stimuli by repeatedly pressing a left or right response button which 'moves' the stimuli visually closer or father away from the name. Targets: all towards (or all away; depending on block instructions) Distractors: towards/away depends on valence of word
1 practice block of 24 trials: only distractor items (12 positive, 12 negative; randomly selected from the list of distractors)
5 EMA blocks run in a AABBA/BBAAB within subjects design (performance during the first A block is not considered for calculation of EMA scores)
(order is counterbalanced by groupnumber)
Each EMA block: 83 trials
- 5 Targets tested (each with one target word) - each repeated 7 times = 35 target trials
the odd number of trials results in the targets being unequally often left or right to the name.
For each participant, it's decided randomly whether the targets are more often left than right to the name.
- 40 distractor items (20 positive, 20 negative) - each repeated once = 40 distractor trials
- 4 filler items (2 positive, 2 negative) - each repeated 2 times (used as prefatory trials before start of block and after rest period) = 8 filler trials
- each block presents a rest trial in the middle (block starts again with 4 filler trials)
Block Sequence:
- 4 filler trials
- 38 randomly selected trials from targets, distractors
- rest trial
- 4 filler trials
- 37 randomly selected trials from targets, distractors
Trial Sequence:
blank (600ms)->name in white frame + 4 XXXX (700ms)->XXXXmask replaced by red attitude word-> wait for response -> potential error feedback
EMA Score Calculation: EMA scores are based on the difference in median latencies of away and toward movements corrected by a calibration constant
Positive Response Bias (positivity bias): participants tend to be faster in moving stimuli towards their names than away from their names
regardless of valence of target words
=> Diff (awayRT - towardsRT) tend to be positive (which affects the neutral point evaluation though not the relative ranking of 'preferences')
=> correction/calibration necessary
Calibration Algorithm applied in this script:
1) run known (2) target words as calibration targets; these target words need to roughly have a mean valence rating of 0
(here: 'movie theater' and 'cavities', see Brendl et al, 2005)
2) establish calibration constant: CC = meanRT(away) - meanRT(towards) for the two calibration targets
(if no bias towards 'towards' movements, one would expect CC = 0 with the selected calibration targets)
3) Use calibration constant in EMA score calculations:
EMA(target1) = median(away_target1) - median(towards_target1) - CC
EMA(target2) = median(away_target2) - median(towards_target2) - CC
EMA(target3) = median(away_target3) - median(towards_target3) - CC
EMA(target4) = median(away_target4) - median(towards_target1) - CC (=calibration target) => 0
EMA(target5) = median(away_target5) - median(towards_target1) - CC (=calibration target) => 0
based on: (awayRT-CC/2) - (towardsRT + CC/2) = awayRT - towardsRT - 2*CC/2 = awayRT - towardsRT - CC
Removal of error trials for calculation of EMA scores:
- only latencies of correct initial responses within the set response window (between 100-3000ms after onset of words)
and without response reversals are considered for EMA score calculations
see section Editable Stimuli
provided by Millisecond as htm-files (htm files can be edited with Notepad (Windows) or TextEdit (Mac))
File Name: evaluativemovementassessment_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 |
| propCorrectAll | Overall proportion correct for the 4 main blocks based on performance in distractor, targets and calibration target trials |
| medianRTAll | Overall median latency (in ms) of correct responses for the 4 main blocks based on distractors, targets and calibration trials |
| meetsExclusion | Returns 1 if participant's error rate exceeds parameters.exclusionCriterium (default: errorate > 0.07) |
| cc | Calibration coefficient as the difference of the two to estimate the positivity bias of the participant positivity bias: the tendency to be faster when moving a word towards the name than away from it (even if both directions are congruent with the valence of the word) calculated as the difference between the mean of the away latencies of the calibration targets and the mean of the toward latencies of the calibration targets (here: target 4 and target 5) |
| medianRTTarget1Away | Median latency (in ms) of correct responses for moving target1 away from the name |
| medianRTTarget1Towards | Median latency (in ms) of correct responses for moving target1 towards the name |
| emaTarget1 | EMA score for target1; difference in away and towards median latency corrected by the calibration coefficient |
| medianRTTarget2Away | Median latency (in ms) of correct responses for moving target2 away from the name |
| medianRTTarget2Towards | Median latency (in ms) of correct responses for moving target2 towards the name |
| emaTarget2 | EMA score for target2; difference in away and towards median latency corrected by the calibration coefficient |
| medianRTTarget3Away | Median latency (in ms) of correct responses for moving target3 away from the name |
| medianRTTarget3Towards | Median latency (in ms) of correct responses for moving target3 towards the name |
| emaTarget3 | EMA score for target3; difference in away and towards median latency corrected by the calibration coefficient |
| medianRTTarget4Away | Median latency (in ms) of correct responses for moving target4 away from the name |
| medianRTTarget4Towards | Median latency (in ms) of correct responses for moving target4 towards the name |
| emaTarget4 | EMA score for target4; difference in away and towards median latency corrected by the calibration coefficient |
| medianRTTarget5Away | Median latency (in ms) of correct responses for moving target5 away from the name |
| medianRTTarget5Towards | Median latency (in ms) of correct responses for moving target5 towards the name |
| emaTarget5 | EMA score for target5; difference in away and towards median latency corrected by the calibration coefficient |
File Name: evaluativemovementassessment_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 |
| countBlockTrial | TrialCounter per block |
| stimType | "target1"/"target2"/"target3"/"target4"/"target5", "distractor", "calibration","filler" |
| direction | Stores the direction in which the current word should be moved in relationship to the name ("towards" vs. "away") |
| stimPosition | "left": word is presented on left side of the screen; "right": word is presented on right side of the screen |
| stimX | Stores the x coordinate of the stimulus |
| correctMovement | Stores the direction the current word should be moved ("left" vs. "right") |
| valence | Stores the valence of the currently presented word ("positive", "negative", "") |
| stim | Stores the currently presented word |
| acc | Stores whether the initial movement is in the correct direction (irrespective of latencies and later movement changes) |
| rt | Stores the latency (in ms) of the initial movement measured from onset of words to pressing the response button |
| valid | 1 = initial response was correct, within the responsewindow, and movement direction stayed the same throughout 0 = otherwise |
| initialMove | Stores the direction of the initial movement (left vs. right) |
| directionChange | True = participant changed movement direction; false = participant did not change movement direction |
| testData | 0 = data not considered as test data (= practice); 1 = data considered as test data |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| responseKeyLeft | The left response button | "A" |
| responseKeyRight | The right response button | "L" |
| nameSize | The fontheight in canvas height percentages of the name stimulus (default; 4%) | |
| nameLeftx | The left horizontal screen position in canvas width percentage of the name/stim | 30% |
| nameRightx | The right horizontal screen position in canvas width percentage of the name/stim | 70% |
| blankDuration | The duration of the blank screen (in ms) at beginning of trial | 600ms |
| xxxxDuration | The duration of the XXXX mask (in ms) | 700ms |
| mInvalidResponseLatency | The duration of the minimum valid response latency in ms; measured from onset of targets | 100ms |
| maxValidResponseLatency | The duration of the maximum valid response latency in ms; measured from onset of targets | 3000ms |
| iti | Intertrial interval in ms | 0 |
| exclusionCriterium | Sets the overall error rate in the testblocks that would exclude a participant from further analyses if the error rate indicates exclusion from analyses, the summary data file stores a '1' under expressions.meetsExclusion | 0.07 |