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 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
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
> 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.
|
|
|
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( ( ((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 .
|
|
|
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 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>
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
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.
|
|
|
Kala
|
|
Group: Forum Members
Posts: 10,
Visits: 22
|
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.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
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.
|
|
|
Kala
|
|
Group: Forum Members
Posts: 10,
Visits: 22
|
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.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
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.
|
|
|
Kala
|
|
Group: Forum Members
Posts: 10,
Visits: 22
|
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!
|
|
|