Millisecond Forums

How to interpret IAT scores in Inquisit

https://www.millisecond.com/forums/Topic3444.aspx

By seandr - 10/5/2009

The question of how to interpret IAT scores comes up a lot, so I'd post an explanation here to help demystify this subject.


As a participant completes the IAT, Inquisit keeps a running trial-by-trial tally of d, which is the standard metric used to interpret IAT results. The final d score for a given participant thus appears on the last row of data for that participant. Inquisit reports 3 d scores, which appear in the last 3 columns labeled "expressions.da", "expressions.db", and "expression.d".


Expressions.da is the d score from just the practice (i.e., first) blocks for both pairings.


Expressions.db is the d score from just the test (i.e. second) blocks for both pairings.


Expressions.d is the d score for both practice and test blocks. This is the score that is typically reported as the measure of association.


D scores can be positive or negative. A positive score indicates an association of targetA with attributeA  and targetB with attributeB.  A negative score indicates an association of targetA with attributeB and targetB with attributeA. Translating the score into a preference or attitude thus depends on how you have assigned your real world categories to these 4 groups. You can determine the mappings by looking at the topmost section of your IAT script, where you'll see the <item> definitions for each category.


For example, let's say you are studying implicit attitudes towards neckties vs ascots, where neckties are targetA, ascots are targetB, pleasant words are attributeA, and unpleasant words are attributeB. A positive d score would indicate the participant is more of a necktie sort of person. A negative score would indicate an affinity for the classic and elegant ascot look. A score of zero would indicate no preference.


Inquisit also records all of the raw responses and response latencies for every trial so that you have the option of running post hoc analyses on the data (e.g., to experiment with different methods of handling outliers). We offer an SPSS command script that provides a good starting point for this, which you can download from our IAT page:


http://www.millisecond.com/download/samples/v3/IAT/default.aspx


If you run the script as is, you'll get exactly the same d scores as those described above, but the script can be easily edited to do custom analyses.


-Sean


By Dave - 10/6/2009

D scores can be positive or negative.


One addition on my part, if I may, since this also a common source of confusion: IAT D-scores may vary between -2 and +2, *not* -1 and +1 as is often erroneously stated (Sriram, Greenwald, & Nosek (2006), p. 57, footnote 2; Nosek & Sriram (2007), p. 396, footnote 2)


~Dave

By Jamie - 9/23/2010

Hi,


When I look at my data, I do not see the rows labeled with "expressions" at all. I see all the individual latency scores for each trial, though. What does this mean? Can I run the SPSS script and get the D scores that way? I also have my survey data to deal with. What steps do you recommend so that I can get my D score and then correlate to data?


Thanks,


Jamie

By Dave - 9/23/2010

When I look at my data, I do not see the rows labeled with "expressions" at all. I see all the individual latency scores for each trial, though. What does this mean?


This probably means you did not use any of the templates available from http://www.millisecond.com/download/samples/v3/IAT/default.aspx (all of which compute D) but instead used an outdated script from a different source (see http://www.millisecond.com/forums/Topic3889.aspx#3889).


Can I run the SPSS script and get the D scores that way?


Once again #2 in http://www.millisecond.com/community/forums/p/1456/4893.aspx#4893.


I also have my survey data to deal with. What steps do you recommend so that I can get my D score and then correlate to data?


This sounds like a topic that should be discussed between you and your advisor.


Regards,


~Dave

By Laura - 9/28/2010

Hi Sean,


First I want to say that I really appreciate this overview!  It has been helpful to me as I have begun my data analysis.


One question I have regarding how the data are calculated is whether errors and latency were considered when calculating d scores.  In other words, were Greenwald et al.'s (2003) "improved scoring algorithm" recommendations for calculating d scores followed?  If not, would I need to modify and use the syntax that has been developed in order to examine errors and latencies?


Thanks for the help!


Laura

By Dave - 9/28/2010

One question I have regarding how the data are calculated is whether errors and latency were considered when calculating d scores.  In other words, were Greenwald et al.'s (2003) "improved scoring algorithm" recommendations for calculating d scores followed?  If not, would I need to modify and use the syntax that has been developed in order to examine errors and latencies?


Laura,


the IAT templates scripts available at http://www.millisecond.com/download/samples/v3/IAT compute "D with built in error penalty" (d_biep) according to Greenwald et al. (2003). This is the recommend measure for the specfic IAT procedure implemented by these scripts. The only difference to Greenwald et al.'s improved scoring algorithm is that the Inquisit scripts do not discard data or stop the IAT if subjects have < 300ms latencies on 10+% of the trials. You would have to do that later during data preparation. You can compute other variants of D based on the raw data with your preferred stats package.


Regards,


~Dave

By Laura - 10/3/2010

HI Dave,


As always, thanks for the quick response!  I should have been more specific.  Are the "expressions.d" scores calculated using Greenwald's improved scoring algorithm?  How do the "expressions.d" scores differ from "d_biep" scores?  Basically I am wondering if I can use the scores that were automatically calculated for me or if I need to run the template script/syntax in order to follow Greenwald's guidelines.  Thanks!


Laura

By Dave - 10/3/2010

As I already said in my previous response: 'expressions.d' is 'd_biep' which is computed according to the improved scoring algorithm, the only difference being that subjects with latencies below 300ms on 10+% of the trials are not automatically discarded.


~Dave

By declan174 - 1/7/2012

Hi Dave,


Thanks for being so helpful. I have downloaded a sample script from the millisec's site, but i couldn't find "d_biep" in the IAT script, nor is it in the .dat file. I'm wondering does that mean that the when an error is made, does the script simply compute the latency after a correct response is made, or does it add 600 ms to the block mean?

By Dave - 1/7/2012

See my previous reply to this thread. The IATs are set up to only move on after the correct key has been pressed, thus D includes a "built in error penalty" (biep).


Regards,


~Dave

By etapia - 4/26/2012

Hi,


I am having trouble figuring out which one goes with which in my case (How to pair them and make them A or B). I am working with the attributes good and bad and the targets Latino and White. IN my script I have them as Attribute_Left: good, Attribute_right: bad, target 1: white, target 2: Latino. I will attach a screen shot of my results after I conduct a frequency test in spss. I would appreciate any help. If more information is required please do not hesitate to let me know.  



Elizabeth

By Dave - 4/26/2012

I am having trouble figuring out which one goes with which in my case (How to pair them and make them A or B). I am working with the attributes good and bad and the targets Latino and White. IN my script I have them as Attribute_Left: good, Attribute_right: bad, target 1: white, target 2: Latino


For the IAT scripts available from millisecond.com (to which this thread applies), the denominations and pairings are clear: They are always attrinbuteA, attributeB, targetA and targetB. For scripts coming from other sources, please refer to the documentation provided by the respective scripts' authors.


Regards,


~Dave

By etapia - 4/26/2012

I used the script available from prof. Greenwald's website. I will attach it to see if it helps.[View:http://www.millisecond.com/community/cfs-file.ashx/__key/CommunityServer.Discussions.Components.Files/12/2553.LATINOIAT.exp.txt:550:0]

By Dave - 4/26/2012

I used the script available from prof. Greenwald's website


Then you should refer to the documentation provided by Prof. Greenwald re. interpreting the data generated with that script and how his accompanying SPSS syntax works.

By marton.hun - 4/26/2012

Hi,


I'm doing a research paper on self esteem, and I'm using the Greenwald self esteem IAT and the Rosenberg explicit self esteem test. My question is, how to correlate the two mesasures, or how to make them "compatible" for each other. I have the raw data (the d scores from the IAT, and the points from the rosenberg scale).


Thanks!

By Dave - 4/26/2012

I'm doing a research paper on self esteem, and I'm using the Greenwald self esteem IAT and the Rosenberg explicit self esteem test. My question is, how to correlate the two mesasures, or how to make them "compatible" for each other. I have the raw data (the d scores from the IAT, and the points from the rosenberg scale).


This is a general methodological / data analysis question and is as such completely unrelated to (using) Inquisit. I thus recommend you review the available literature dealing w/ relations between implicit and explicit measures and take this up w/ your colleagues and/or advisors.


Regards,


~Dave

By magdalena - 5/2/2012

Hey Dave,


thank you for your explanations which are always very helpful.


I understood that expressions.d is the IAT-sore calculated after the improved scroing algorithm according Greenwald et al. 2003. This means I can cite it this way, right?


I used one of the scripts of your Task library. I´m not sure which part of the script calculates the expressions.d-score. Maybe you could upload an example of the accordant command? This would help me to control my data.


One last question: Greenwald et al. (2003) used the pooled SD for their calculations. Which formula did you use for computing the pooled SD?


Thank you very much in advance!


Kind regards, Magdalena


By Dave - 5/2/2012

I understood that expressions.d is the IAT-sore calculated after the improved scroing algorithm according Greenwald et al. 2003. This means I can cite it this way, right?


Yes, review the previous replies throughout this thread for details.


I used one of the scripts of your Task library. I´m not sure which part of the script calculates the expressions.d-score. Maybe you could upload an example of the accordant command?


Simply look at the <expressions> element in the script you used and find '/ d'. Additionally look at the /ontrialend attributes in the script which are involved the necessary computations.


One last question: Greenwald et al. (2003) used the pooled SD for their calculations. Which formula did you use for computing the pooled SD?


You'll also find this information directly by looking at the script. Again, refer to the <expressions> element in the script and look at the various entries starting with 'sd'.


Regards,


~Dave

By magdalena - 5/2/2012

Hey Dave,


thank you for your quick reply. You already helped us very much. But we are still wondering about the resulting score (expressions.d). We tried to compute the score for several subjects manually and got different values than the program calculated (differences about 0.04). So we looked at the formula in the script for understanding which mistake we made. But we couldn´t comprehend on part of the SD-formula, what means values.ssXX?


Thanks a lot and best wishes, Magdalena

By Dave - 5/2/2012

'ss' would indicate a sum of squares. Minor differences a la 0.0x may very well be due to rounding error.

By marton.hun - 5/3/2012

Hi Dave, I have only one last question.


The IAT is making compatible and incompatible matching but not in the same order every time. My question is, that this is calculated in the last d score, or i have to make some changes with the reversed ones.


Thanks in advance,


Martin

By Dave - 5/3/2012

The order of compatible / incompatible blocks is counterbalanced between subjects based on the numerical subject id -- see the <variables> element for details. This does not affect the computation of d in any way.

By kash - 8/9/2012

Hey Dave,


I've read in another thread that having a D score that is higher than 1.0 is rare, however, I seem to have 4 instances of it in my data. 


Any ideas why this might be?



Thanks

By Dave - 8/9/2012

Rare does not mean impossible. D may vary between -2 and +2 in theory. Other than that, I have nothing to offer on this subject, I'm afraid. Might be your particular subject matter, etc. Those are theoretical and methodological questions, so you should be better equipped than anybody else to answer them (since you know your particular area of research best).

By kash - 8/10/2012

Cool. I just wanted to check that it wasn't a technical issue. 


Thanks 

By michellewilson2012 - 2/20/2013

Dear Sean,


Can I just check that from having read the above (very helpful) description and having translated that to the Single Target IAT that I have understood the expression.d score for the Single Target IAT correctly:


A positive score would mean there was an association between Target A and Attribute A


A negative score would mean there was an association between Target A and Attribute B


So with you necktie example. Lets say Target A was neckties, Attribute A was pleasant and Attribute B was unpleasant. A positive score would mean the participant liked neckties, a negative score would mean that they did not like neckties? With my study Target A is 'disabled', attribute A 'pleasant' and attribute b 'unpleasant'. So a positive score would mean that participants associated 'disabled' with 'pleasant' (thus positive implicit attitudes), and a negative score would mean that participants associated 'disabled' with 'unpleasant' (thus negative implicit attitudes) right?


Many thanks,


Michelle

By Dave - 2/20/2013

With my study Target A is 'disabled', attribute A 'pleasant' and attribute b 'unpleasant'. So a positive score would mean that participants associated 'disabled' with 'pleasant' (thus positive implicit attitudes), and a negative score would mean that participants associated 'disabled' with 'unpleasant' (thus negative implicit attitudes) right?


Yes.

By Ana_Oliva - 9/29/2014

Hi,

I've used one of your IAT scripts as my implicit attitudes' instrument, and then, to analyse my data, I also used the SPSS syntax that you also provide in your website. However, I've been struggling with it, since I am not an experienced user, and would like to clear some questions.

Before importing my .dat file to SPSS, I introduced some alterations to it because:

1) I had to discard two participants for not meeting my eligibility criteria (to avoid descriptive statistics based in an erroneous N). and,
2) I made a mistake when introducing one participant's ID before running Inquisit... leaving me with two participants with the ner. 48 ... So I recoded this participant to the next available even slot (n.er 52 - it's a small sample), since IAT counterbalanced participants according to that property (odd or even ID number).

After this I tried to import my data to SPSS and, in the last step from the importing procedure, I've chosen to paste the syntax (and I've indicated the respective file path in it too). I got one Output window, a .sav data file based on my IAT's raw data, and an aggregated file, with all the relevant data necessary to calculate D index (and the actual index)/ per participant.

My results only revealed negative D_biep values. And now... my doubts and the problems found...

1 - The doubt.

- to verify the correctness of the data obtained, I calculated the D_Biep index of some of the participants by hand. I noticed that for participants with an even number ID, the values obtained - although the same in module to the ones indicated in SPSS - were positive instead of negative; and that didn't make sense given that the mean latencies and respective differences indicated negative implicit attitudes toward my main target of interest... I then remembered that maybe there's some "built-in recoding" in IAT's syntax (but I couldn't really find it there - I'm a rookie in this so...). I just need you to confirm (or not) this idea:

In what concerns even numbered ID's (order 2), the block order is "incompatible first", instead of "compatible first" so, in order the data to make sense, the syntax recodes the blocks' order, as if they had been ran in order 1.

According to the algorithm used:
Mean latency Incompatibletest 1 (Block 5 when "compatible first") - Mean latency Compatible test 1 (Block 3 when "compatible first");

So, when in order 2,

Mean latency Incompatibletest 1 (Block 3 when "incompatible first") - Mean latency Compatible test 1 (Block 5 when "incompatible first").
And this is how we get a negative value for this operation…

Is this right? If so, what are the following code lines for:

https://www.millisecond.com/forums/uploads/images/760c2880-b8fe-45ac-8206-b426.jpg


2 - And now, the problems (mixed up with some other doubts)…

As already stated above, after I ran the SPSS syntax I obtained one Output window, a data file based on my IAT's raw data, and an aggregated file, with all the relevant data necessary to calculate D index (and the actual index)/ per participant.

I haven’t altered anything in SPSS syntax besides my file name, and haven´t altered anything in IAT script besides deleting the summary block from the script's <expt> elements' /blocks attributes (with your help), so that the participants didn’t receive feedback about their performance.

After analysing the output file, it revealed several errors… One of which prevented the respective variables flagging the <300ms, <400ms and >10 000ms trials from appearing in the respective .sav file(for every trial), although their descriptive statistics appear in the mentioned output file (I attached a file with it, in order to make myself clearer (the errors are highlighted in yellow).

What has happened? Why are these errors occurring? I’ve tried to overcome this “N times” :p and haven’t reached any conclusion… Is it due to the “holes” in my sample (there aren’t participants ner 32 and 46, for they didn’t meet my eligibility criteria and I deleted them before running the script), the "recoding" of the doubled 48 participant, or any other alteration that I have made in my raw data file?

Please help… I don’t know what else to do!

Thanx,
Ana
By Dave - 9/29/2014

Re. #1 the first thing you need to check is *how* your IAT script assingns the different block orders: (1) Based on subjectnumber (odd vs even) OR (2) based on groupnumber (odd vs even).

Adjust the SPSS syntax accordingly.

If you study the SPSS syntax you will find that there's a variable computed that reflects the block order (called ORDER). Verify that variable is computed and used correctly. If it is not, the *sign* of the D-score will be wrong.

As for the specific syntax snippet you asked about, you will find this covered in this very topic https://www.millisecond.com/forums/Topic3444.aspx :
" A positive score indicates an association of targetA with attributeA  and targetB with attributeB.  A negative score indicates an association of targetA with attributeB and targetB with attributeA. Translating the score into a preference or attitude thus depends on how you have assigned your real world categories to these 4 groups. You can determine the mappings by looking at the topmost section of your IAT script, where you'll see the <item> definitions for each category."

If your mappings are not consistent with the above, the scoring must be reversed. That's what that syntax does if enabled.


Re. #2: The error message is very explicit.

* Save data to re-use for computing other measures .
SAVE OUTFILE = 'temp.sav' .
>Error # 5332 in column 16. Text: temp.sav
>The specified file or directory is read-only and cannot be written to.
>The file will not be saved. Save the file with another name or to a different
>location or change the access permissions first.
>Execution of this command stops.

You are trying to save 'temp.sav' to a location on your computer where you do not have write permissions. This will be the case for e.g. SPSS's program directory (which is its default working directory). Edit the SPSS syntax and supply a file path where you do have write permissions.


The same applies to all the remaining files written by the syntax, too. You *must* provide full, proper file paths to a location where you may write to under your user account (e.g. your Desktop folder, your "My Files" directory, etc.).
By Ana_Oliva - 9/29/2014

Hi Dave. Thank you very much for your reply!

Re. # 1 - Where can I see how the IAT script assigns the different block orders (I used the Picture IAT Millisecond provides for download)? And, more importantly, how do I adjust the SPSS syntax accordingly? :s

I already knew about what had been written in this topic in the link  https://www.millisecond.com/forums/Topic3444.aspx. I am sorry, I forgot to give you the information regarding mi IAT script.

There's a copy of my final .sav aggregated data file (with D_Biep) attached (so that I can better illustrate what I said previously in the other reply).

 My IAT script includes:

<item attributeAlabel>
/1 = "Good"
</item>
(…)
<item attributeBlabel>
/1 = "Bad"
</item>
(…)
<item targetAlabel>
/1 = "Persons with Disabilities"
</item>
(…)
<item targetBlabel>
/1 = "Persons without Disabilities"
</item>
(…)

_______________

 According to my SPSS syntax,

/ ORDER
    1 'compatible first'
    2 'incompatible first'.

So,
Order 1 = “Persons with Disabilities” (Target A) + “Good” (Attribute A)| “Persons without Disabilities” (Target B) + “Bad” (Attribute B)
Order 2 = “Persons with Disabilities” (Target A) + “Bad” (Attribute B) | “Persons without Disabilities” (Target B) + “Good” (Attribute A)


The rest of the syntax concerning order goes like this:

VALUE LABELS blocknum
 1 'Target practice'
 2 'Attribute practice'
 3 'First pairing practice'
 5 'First pairing test'
 6 'Reversed target practice'
 7 'Second pairing practice'
 9 'Second pairing test' .

IF (MOD(subject,2) = 1) ORDER = 1 .
IF (MOD(subject,2) = 0) ORDER = 2 .

COMPUTE PAIRING = 0.
IF ((ORDER=1) and (blocknum=3|blocknum=5)) PAIRING = 1.
IF ((ORDER=1) and (blocknum=7|blocknum=9)) PAIRING = 2.
IF ((ORDER=2) and (blocknum=7|blocknum=9)) PAIRING = 1.
IF ((ORDER=2) and (blocknum=3|blocknum=5)) PAIRING = 2.

COMPUTE TEST = 0.
IF (blocknum=3|blocknum=7) TEST = 1.
IF (blocknum=5|blocknum=9) TEST = 2.

VALUE LABELS
   TEST 0 'single-task practice' 1 '1st combined block' 2 '2nd combined block'
 / correct 0 'error' 1 'correct' .

VARIABLE LABELS
   correct  "0=error, 1=correct"
 / blocknum "block number"
 / trialnum "trial number"
 / ORDER "order of combined tasks"
 / PAIRING "paired categories"
 / TEST "1st or 2nd combined block".

VALUE LABELS
   PAIRING
    0 'single task practice'
    1 'compatible'
    2 'incompatible'
 / ORDER
    1 'compatible first'
    2 'incompatible first'.
COMPUTE error = 100*(1 - correct).


Can you tell me, based in this new information if ORDER was computed and used accordingly?

If it is, the negative scores indicate that my entire sample holds preference for people without disabilities (therefore, holds also negative implicit attitudes toward persons with disabilities), right?



Re. #2: Error messages

Can it be something like this?: 

C:\Users\Ana\Desktop\temp.sav
C:\Users\Ana\Desktop\criteria.sav


Thank you again for your help!

Ana

By Dave - 9/29/2014

#1: Look at the script's <expt> and/or <variables> elements. If you've used any of the Inquisit *4* IAT scripts, /groupassignment will have been set to 'groupnumber' *not* 'subjectnumber*, i.e. block order is determined by the groupid *not* subjectid.

If this is the case, then

IF (MOD(subject,2) = 1) ORDER = 1 .
IF (MOD(subject,2) = 0) ORDER = 2 .

is obviously not the right way to determine block order. The group number has to be used instead.

#2: If those are valid paths on your computer and you do have write permissions for this location (which you should): Yes.
By Ana_Oliva - 9/29/2014

Thank you again Dave.

I am using Inquisit 3... Here's what I found in my IAT script:

***********************************************************************
Experiment
***********************************************************************

<defaults>
/ fontstyle = ("Arial", 3.5%)
/ screencolor = (0,0,0)
/ txbgcolor = (0,0,0)
/ txcolor = (255, 255, 255)
/ minimumversion = "3.0.0.0"
</defaults>

<expt>
/ blocks = [1=block1; 2=attributepractice; 3=block3; 4=block4; 5=block5; 6=block6; 7=block7; 8=block8; 9=block9]
</expt>

<variables>
/ group = (1 of 2) (block1=targetcompatiblepractice; block3=compatibletest1; block4=compatibletestinstructions; block5=compatibletest2; block6=targetincompatiblepractice; block7=incompatibletest1; block8=incompatibletestinstructions; block9=incompatibletest2)
/ group = (2 of 2) (block1=targetincompatiblepractice; block3=incompatibletest1; block4=incompatibletestinstructions; block5=incompatibletest2; block6=targetcompatiblepractice; block7=compatibletest1; block8=compatibletestinstructions; block9=compatibletest2)
</variables>

So, I guess that this means that I am not using the correct syntax...

How (and where) can I correct the syntax in order for it to make the proper calculations then?

Thank you!

Ana
By Dave - 9/29/2014

No, you don't have to correct or modify the SPSS syntax -- Inquisit 3  IAT scripts assign block order based on subjectnumber just as the SPSS syntax assumes.
By Ana_Oliva - 9/29/2014

No? :D What a relief! :p

So, I interpreted the results in the right directions and don't need to recode anything? :D I've never been so happy for not making an upgrade...! :p

I'll try the alterations regarding the errors then... I hope that it all goes well now.


Thank you! :)
By Ana_Oliva - 9/29/2014

I have already introduced the alterations and all is fine!!! Not one single error!

Thank you, you're a life saviour! :D


Ana
By Kala - 12/9/2014

Hello,

I have questions about two general topics. First, is the interpretation of the BIAT D score the same as the IAT score? Sriram & Greenwald (2009) explain how to interpret D scores above zero, but as far as I can see do not explicitly state how to interpret scores below zero (i.e., negative scores). I have negative score means in my data, so I want to be absolutely sure of my interpretation.

Second, I am curious how the "expressions" variables are calculated by the Inquisit software. Does the running tally of D take the order of the trials into account? Also, does the "DInquisit" variable that is generated in the "Criteria" outfile step of the SPSS script a reliable metric for analysis? I'm unsure what the "LAST" command in the syntax file refers to. I ask because when I use the D generated by the syntax file I get negative score means, but when I use the DInquisit I get positive score means.

Thank you for your assistance!
By Dave - 12/9/2014

As detailed in the 1st post of the thread, D-scores can be either positive or negative. The sign indicates the "direction" of the effect. It makes no difference in this regard whether you're looking at D-scores stemming from a Brief IAT or from a "standard" IAT.

> Does the running tally of D take the order of the trials into account?

The order of trials does not matter. D is a difference score, in essence (mean latency in incompatible condition - mean latency in compatible condition) / normalized by standard deviation. Each line in the raw data file can be read as "this is the D-score *given all the data available up to this point*.

> Also, does the "DInquisit" variable that is generated in the "Criteria" outfile step of the SPSS script a reliable metric for
> analysis?

That's simply the D-score *as calculated by the script and recorded to the data file*. The LAST function extracts the value from the last line, i.e. the final D-score (when all relevant data are in). For general guidance on SPSS syntax, please the documentation provided by IBM / SPSS.
By Kala - 12/9/2014

Thank you for the quick reply! At this point I am trying to figure out why, when I run the SPSS syntax file, the D scores are negative by the DInquisit scores are positive. It seems that although they may not be precisely the same number (because of the 300 ms latency correction in the calculation of the D score), they should at least be the same direction most of the time.
By Dave - 12/9/2014

Make sure you use the syntax correctly and adapt it as needed. Particularly check how your *script* assigns between-subjects conditions (Based on subject id? Based on group id? Randomly?) and verify that the SPSS syntax reflects that.
By Kala - 12/9/2014

Thank you. I am going through the syntax file and my Inquisit .exp file with a fine-tooth comb. Just in case you can offer some insight, I have posted how I assigned BIAT order, as well as the relevant section of SPSS script that decodes the order, pairing, and test conditions, below. I adapted the syntax file by putting in the correct blocknums for my BIAT blocks in the VALUE LABELS section and in the COMPUTE Test section; other than that I did not see where I needed to make additional adaptations.

<expt>
/ subjects = (1 of 2)
/ blocks = [1=BSRI;2=READ;3=ManipCheck;4=IATinstructions;5=short_a;6=short_b;7=A;8=B;9=A;10=B;11=ROMANTIC;12=CQ;13=opentext2;14=demographics]
/onexptend = [values.completed = 1]
</expt>

<expt>
/ subjects = (2 of 2)
/ blocks = [1=BSRI;2=READ;3=ManipCheck;4=IATinstructions;5=short_b;6=short_a;7=B;8=A;9=B;10=A;11=ROMANTIC;12=CQ;13=opentext2;14=demographics]
/onexptend = [values.completed = 1]
</expt>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GET TRANSLATE FILE = 'BriefIAT2.dat'
  /TYPE=TAB /MAP /FIELDNAMES .

VALUE LABELS blocknum
 5 'Attribute practice'
 6 'Attribute practice'
 7 'First pairing practice'
 8 'Reverse pairing practice'
 9 'First pairing test'
 10 'Reverse pairing test'.

IF (MOD(subject,2) = 1) Order = 1 .
IF (MOD(subject,2) = 0) Order = 2 .

COMPUTE Pairing = 0.
IF (blockcode = 'A' ) Pairing = 1.
IF (blockcode = 'B' ) Pairing = 2.

COMPUTE Test = 0.
IF (blocknum=7|blocknum=8) Test = 1.
IF (blocknum=9|blocknum=10) Test = 2.
By Dave - 12/9/2014

I think the sing-mismatch may be due to a mistake in the script's relevant expressions:

<expressions>
...
/ d1 = (expressions.A1m - expressions.B1m) / expressions.sd1
/ d2 = (expressions.A2m - expressions.B2m) / expressions.sd2
...
</expressions>

gets the order of terms in the difference wrong in calculating A-B, which reverses the sign . It should be

<expressions>
...
/ d1 = (expressions.B1m - expressions.A1m) / expressions.sd1
/ d2 = (expressions.B2m - expressions.A2m) / expressions.sd2
...
</expressions>

i.e., B-A. You'll want to check if that's the case in your script.
By Kala - 12/9/2014

I pasted my expressions script below. It looks like it calculated d1 and d2 correctly. Is it possible that one should interpret traditionally-calculated IAT D scores (as they are calculated within the Inquisit script) differently than BIAT D scores calculated via the SPSS syntax?

<expressions>
/ A1m = values.A1sum / values.A1n
/ A2m = values.A2sum / values.A2n
/ B1m = values.B1sum / values.B1n
/ B2m = values.B2sum / values.B2n
/ A1sd = sqrt((values.A1ss - (values.A1n* (expressions.A1m * expressions.A1m))) / (values.A1n - 1))
/ A2sd = sqrt((values.A2ss - (values.A2n* (expressions.A2m * expressions.A2m))) / (values.A2n - 1))
/ B1sd = sqrt((values.B1ss - (values.B1n* (expressions.B1m * expressions.B1m))) / (values.B1n - 1))
/ B2sd = sqrt((values.B2ss - (values.B2n* (expressions.B2m * expressions.B2m))) / (values.B2n - 1))
/ sd1 = sqrt((((values.A1n - 1) * (expressions.A1sd * expressions.A1sd) + (values.B1n - 1) * (expressions.B1sd * expressions.B1sd)) + ((values.A1n + values.B1n) * ((expressions.A1m - expressions.B1m) * (expressions.A1m - expressions.B1m)) / 4) ) / (values.A1n + values.B1n - 1) )
/ sd2 = sqrt((((values.A2n - 1) * (expressions.A2sd * expressions.A2sd) + (values.B2n - 1) * (expressions.B2sd * expressions.B2sd)) + ((values.A2n + values.B2n) * ((expressions.A2m - expressions.B2m) * (expressions.A2m - expressions.B2m)) / 4) ) / (values.A2n + values.B2n - 1) )
/ d1 = (expressions.B1m - expressions.A1m) / expressions.sd1
/ d2 = (expressions.B2m - expressions.A2m) / expressions.sd2
/ d = if ( values.extended ) { (d1+d2) / 2 } else { d1 }
/ currentblocknumber = max(expt.1.currentblocknumber, expt.2.currentblocknumber)
/ preferred = "unknown"
/ notpreferred = "unknown"
/ totalblockcount = if (values.extended) {expt.1.blockcount} else {expt.1.blockcount-2}
/ percentcorrect = (values.n_correct/ (values.a1n + values.a2n + values.b1n + values.b2n)) * 100
</expressions>
By Kala - 12/9/2014

Based on your last comment, I now wonder if the error is in the SPSS syntax file. Based on how you saidCOMPUTE DNumer = MA - MB. Inquisit should calculate the espressions, should "COMPUTE DNumer = MA - MB." in the SPSS syntax actually be "COMPUTE DNumer = MB - MA."?

****************************************************************************.
* These are the numerator components in millisecond units.
****************************************************************************.
IF(Test=1) MA1 = MA .
IF(Test=1) MB1 = MB .
IF(Test=2) MA2 = MA .
IF(Test=2) MB2 = MB .

IF(Test=1) SD1a = SD1 .
IF(Test=1) SD2a = SD2 .
IF(Test=2) SD1b = SD1 .
IF(Test=2) SD2b = SD2 .

IF(Test=1) NA1 = NA .
IF(Test=1) NB1 = NB .
IF(Test=2) NA2 = NA .
IF(Test=2) NB2 = NB .

COMPUTE DNumer = MA - MB.

****************************************************************************.
*Use SD based on all responses (StanDevX) as denominator for D .
****************************************************************************.
COMPUTE DDenom = SQRT( ( ((NA-1) * SD1**2 + (NB-1) * SD2**2)
                   + ((NA+NB) * ((MA-MB)**2) / 4) ) / (NA + NB - 1) ) .

IF (Test=1) D1 = DNumer / DDenom .
IF (Test=2) D2 = DNumer / DDenom .
IF (Test=1) N1 = NA+NB .
IF (Test=2) N2 = NA+NB .
By Dave - 12/9/2014

> I pasted my expressions script below. It looks like it calculated d1 and d2 correctly.

Yes, that looks correct.

> Is it possible that one should interpret traditionally-calculated IAT D scores (as they are calculated within the Inquisit script)
> differently than BIAT D scores calculated via the SPSS syntax?

No. There is no difference. At least in theory / leaving aside the sign mismatch under discussion, the script performs the exact same calculations as the SPSS syntax.

It's perfectly possible that the wrong order of terms is in the SPSS syntax, not the script.

By benmittman - 10/22/2015

Hello,

I've been running the IAT and I've lost the summaries for most of my files -- is there any way to re-generate the summaries from the full data files? This would just save me a lot of time from having to recalculate the values shown on the summaries.

Thank you,

Ben M.
Hamilton College
By Dave - 10/22/2015

If you used any of the templates available from the millisecond.com library, the D-scores are also recorded to the raw data files. The last line for a given participant gives you the final scores.

Of course, you can also calculate D from the raw latency data. You can use the SPSS syntax files available from the library's IAT page as a starting point.
By mparekh - 3/6/2016

Hello, I have received conflicting reviews on cutoff scores for the IAT. In one article it is said that any value above +0.65 or below -0.65 indicates a preference one way or another. Some other areas say that any value positive or negative indicates a preference whereas 0 does not. In my data the value I receive (mean value of 150 participants) was 0.46, standard deviation of 0.31. Does this indicate a preference? I would be happy to talk more if you should have the time.

Thank you for your help,


By Dave - 3/6/2016

D-scores are sometimes classified as indicating a "slight", "moderate" or "strong" association. The respective cutoff values are chosen to roughly correspond to typical effect size characterizations.

See https://implicit.harvard.edu/implicit/demo/background/raceinfo.html for an example.

An absolute value >= .65 would indicate a "strong" association, it is not that case that any value below that would indicate *no association*. Instead, absolute values >= .35 are usually taken to indicate a "moderate" association, while >= .15 would indicate a "slight" effect.
Anything between 0 and .15 would be taken as showing no association.
By EmilieN - 6/12/2016

Hi Dave,
I hope it's not too late for this reply.
I have a few questions concerning 'expressions.d'. You wrote that the only difference between the calculation of Inquisit and the 'improved scoring algorithm' would be that subjects below 300ms on 10+% of the trials are not automatically discarded. I'm writing my bachelor thesis at the Moment and I used only the automatic generated d-scores for my calculations. now I'm asking myself if it's still ok to write, that the computation of IAT scores is based on the scoring algorithm provided by Greenwald et al. (2003) and how I could establish the fact that subjects below 300ms on 10+% of the trials were not automatically discarded? Even though I have the raw data collected it would cost me months to transfer them into a SPSS data set and compute them with the provided syntax for several reasons. So is there a convincing explanation which i could use for my argumentation why I haven't discarded subjects below 300ms? Next time i would handle it different because now I know much more about IATs and the functions of Inquisit. But for this time it would be so helpful if I could to it that way. Thanks in advance for helping me out!
By Dave - 6/12/2016

The scores are calculated according to the improved scoring algorithm.

Whether a given subject has latencies < 300 ms in 10% or more of all trials changes nothing about the calculation of D.

Instead, the recommendation is that such subjects' data should be *discarded* entirely from any analysis. I.e., if you have a participant X who responded < 300 ms in more than 10% of all trials, you simply throw her/his entire data set away.