Dave


Group: Administrators
Posts: 12K,
Visits: 100K

I think the singmismatch 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 AB, 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., BA. You'll want to check if that's the case in your script.



Kala


Group: Forum Members
Posts: 10,
Visits: 22

I pasted my expressions script below. It looks like it calculated d1 and d2 correctly. Is it possible that one should interpret traditionallycalculated 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.blockcount2} / percentcorrect = (values.n_correct/ (values.a1n + values.a2n + values.b1n + values.b2n)) * 100 </expressions>



Kala


Group: Forum Members
Posts: 10,
Visits: 22

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( ( ((NA1) * SD1**2 + (NB1) * SD2**2) + ((NA+NB) * ((MAMB)**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 .



Dave


Group: Administrators
Posts: 12K,
Visits: 100K

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



benmittman


Group: Forum Members
Posts: 1,
Visits: 13

Hello,
I've been running the IAT and I've lost the summaries for most of my files  is there any way to regenerate 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



Dave


Group: Administrators
Posts: 12K,
Visits: 100K

If you used any of the templates available from the millisecond.com library, the Dscores 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.



mparekh


Group: Forum Members
Posts: 6,
Visits: 21

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,



Dave


Group: Administrators
Posts: 12K,
Visits: 100K

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



EmilieN


Group: Forum Members
Posts: 3,
Visits: 9

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 dscores 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!



Dave


Group: Administrators
Posts: 12K,
Visits: 100K

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.


