becgwin


Group: Forum Members
Posts: 53,
Visits: 313

Hi, I ran an SCIAT last year based on the Inquisit task library version dated 03262013 and I am slightly confused by the summary output. While I get no expressions.da (it appears to leave out calculations of the practice trials), I do get an expressions.db (which according to previous posts is for the test trials  topics3444) and an expressions.d (which according to same post is meant to combine practice and test trials). The expressions.d seems to be the expressions.da divided by 2. The expressions.latdiffb and expressions.latdiff are identical which I think makes sense if the practice trials are not included. I have since seen the updated version of the SCIAT (dated 11212013) and the programmed output makes more sense to me, so I assume it may have been amended in part to address this issue. I just want to confirm that expressions.db in my summary output is D for test trials, and what I should use assuming I am satisfied to exclude trials larger than 10000ms and error trials. Also, can anyone explain what expressions.d is in this case when it appears the practice trials were not included in the analysis, and yet it differs from expressionsdb. The script is as follows:
* 1 is compatible, 2 is incompatible * a is first block, b is second block <expressions> / m1a = values.sum1a / values.n1a / m2a = values.sum2a / values.n2a / m1b = values.sum1b / values.n1b / m2b = values.sum2b / values.n2b / sd1a = sqrt((values.ss1a  (values.n1a * (expressions.m1a * expressions.m1a))) / (values.n1a  1)) / sd2a = sqrt((values.ss2a  (values.n2a * (expressions.m2a * expressions.m2a))) / (values.n2a  1)) / sd1b = sqrt((values.ss1b  (values.n1b * (expressions.m1b * expressions.m1b))) / (values.n1b  1)) / sd2b = sqrt((values.ss2b  (values.n2b * (expressions.m2b * expressions.m2b))) / (values.n2b  1)) / sda = sqrt((((values.n1a  1) * (expressions.sd1a * expressions.sd1a) + (values.n2a  1) * (expressions.sd2a * expressions.sd2a)) + ((values.n1a + values.n2a) * ((expressions.m1a  expressions.m2a) * (expressions.m1a  expressions.m2a)) / 4) ) / (values.n1a + values.n2a  1) ) / sdb = sqrt((((values.n1b  1) * (expressions.sd1b * expressions.sd1b) + (values.n2b  1) * (expressions.sd2b * expressions.sd2b)) + ((values.n1b + values.n2b) * ((expressions.m1b  expressions.m2b) * (expressions.m1b  expressions.m2b)) / 4) ) / (values.n1b + values.n2b  1) ) / da = (m2a  m1a) / expressions.sda / db = (m2b  m1b) / expressions.sdb / d = (expressions.da + expressions.db) / 2 / latdiffa = m2a  m1a / latdiffb = m2b  m1b / latdiff = ((values.sum2a + values.sum2b) / (values.n2a + values.n2b))  ((values.sum1a + values.sum1b) / (values.n1a + values.n1b)) / attitude = "unknown" </expressions>
Finally, can anyone confirm that the raw error trial latencies are uncorrected, or corrected for in calculations only by their exclusion? That way I can easily run my own analysis if I want to change the parameters e.g. delete trails less than 350ms etc.



Dave


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

expressions.da, expressions.db and expressions.d represent what https://www.millisecond.com/forums/Topic3444.aspx details them to represent  the kind of IAT (standard or singlecategory) does not matter in that regard.
If, for some reason (I don't know which and it it not possible to infer from the information you posted), expressions.da is not properly computed and thus remains at zero, your observations directly follow from the math in the respective expressions:
> The expressions.d seems to be the expressions.da divided by 2 [...] (I assume you really mean expressions.db here, as previously you state "I get no expressions.da [...]")
d = (expressions.da + expressions.db) / 2 = (0 + expressions.db) = expressions.db / 2 > The expressions.latdiffb and expressions.latdiff are identical [...]
latdiff = ((values.sum2a + values.sum2b) / (values.n2a + values.n2b))  ((values.sum1a + values.sum1b) / (values.n1a + values.n1b)) = ((0 + values.sum2b) / (0 + values.n2b))  (0 + values.sum1b) / (0 + values.n1b)) = m2b  m1b = lattdiffb
> can anyone explain what expressions.d is in this case when it appears the practice trials were not included in the analysis, and yet it differs from expressionsdb
You have already perfectly answered that yourself: "The expressions.d seems to be the expressions.db divided by 2". It should not be used in this case.
> can anyone confirm that the raw error trial latencies are uncorrected
The RTs on error trials include a "builtin error penalty" (as is recommend; see Greenwald et al., 2003)  if a person presses the wrong key in a given trial, she is not allowed to progress until she presses the correct key. The latency reflects when the latter happened, not when the first (wrong) response occurred.
Otherwise, raw RTs are what they appear to be  no raw data is excluded or changed. You can thus recompute the various d's from the raw data at any time.
Outlier RTs (latency > 10000ms) are excluded from automatic calculations only, which does not affect or alter the recorded raw latency in any way (you can see this for yourself by looking at the /ontrialend attributes in the script  you will find that only latencies < 10000 are added to the respective summing variables).
Hope this helps.



becgwin


Group: Forum Members
Posts: 53,
Visits: 313

Hi Dave, That helps a lot. Thanks again for answering my questions so quickly and thoroughly. And yes I did mean expressions.db (not expressions.da)  sorry! Just one further question re the built in error penalty  I used the Karpinski and Steinman (2006) version (the SCIAT as versus the STIAT) which allows a subject to move on without getting the correct answer (it just shows an X to indicate an incorrect answer). It therefore doesn't have an automatically built in error penalty and it records both correct and incorrect latencies. It doesn't however include any incorrect response latencies in the calculations of D as block instructions only relate to correct responses (e.g. / ontrialend = [if(values.correct == 1 && block.incompatibletest.latency <= 10000) values.sum2 = values.sum2 + block.incompatibletest.latency]. Am I understanding that correctly? If I wanted to include error responses, I assume I would have to follow Karpinski and Steinman's recommendation of replacing error responses with the block mean plus 400ms error penalty. I have also worked out why the practice trials were not included  as Karpinski and Steinman excluded them from their analysis, the Inquisit script I adapted did not have any commands re generating calculations for the practice trials!
Thanks again,
Bec



Dave


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

> It doesn't however include any incorrect response latencies in the calculations of D as block instructions only relate to correct > responses [...]. Am I understanding that correctly?
I believe so. It's also in line with the task description at the top of the script:
Script Specifics: (1) EXPERIMENTAL PROCEDURE: a) Block Practice Compatible* (24 trials); responses not counted towards Dscoreb) Block Compatible (72 trials) c) Block Practice InCompatible (24 trials); responses not counted towards Dscored) Block InCompatible (72 trials) *order compatible  incompatible counterbalanced by groupnumber => one Dscore is determined (2) TRIALS After a pretrialpause of 250ms(default, editable), stimuli are presented for 1500ms max (default, editable). If no response occurs during that time, a reminder is presented to "respond more quickly." In contrast to the general IAT procedure used in the Millisecond Software scripts, participants don't have to correct their response to move on. They are given error feedback but no response correction is necessary. (3) STIMULI:  21 words for Attribute Categories Good/Bad  7 words for target category (here: Animals) (4) SCORING:  latencies of trials larger than 10000ms and error trials are excluded from Dscore analyses



becgwin


Group: Forum Members
Posts: 53,
Visits: 313

Thanks for confirming that Dave. I'll move on now with more confidence!



AC


Group: Forum Members
Posts: 17,
Visits: 102

Hello, Does anyone have SPSS syntax for scoringthe SCIAT? I am not syntax savvy and am tying myself in mental knots trying toamend the Brief IAT SPSS syntax to suit. Hopeful thanks in advance AC



Dave


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

If you are going to use any existing syntax as the basis, you should *not* use the Brief IAT syntax, but the Standard IAT syntax. The Brief IAT is *very different* from a regular IAT, while the Standard IAT and the SCIAT are a much closer match. Beyond that, I'm not aware of any existing scoring syntax and  since the script itself already computes the usual dependent variables and logs them to the data file  most people don't actually need any.
Hope this helps..



AC


Group: Forum Members
Posts: 17,
Visits: 102

Hello, thank you so much for the speedy for the response. I cansee the d scores, but I need to exclude the responses below 350ms (as Karpinskiand Steinman guidelines) so d will have to be recalculated in spss and I was just hoping that someone might havesyntax so that I avoided the likelihood of me making a mistake as I do itmanually. Even if Ididn’t need to recalculate I can’t get my head around how to tell spss to pickup just the last d score for an individual in a particular block when restructuring‘selected cases to variables’.
Thanks again



Dave


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

> Even if Ididn’t need to recalculate I can’t get my head around how to tell spss to pickup just the last d score for an individual in a > particular block when restructuring‘selected cases to variables’.
You use SPSS's last() function. https://www01.ibm.com/support/docview.wss?uid=swg21476173
In general, aggregating data is not hard. Good introductions are among others:
 Lacroix & Giguère (2006) available at http://www.tqmp.org/Content/vol021/p020/p020.pdf
 https://computingforpsychologists.wordpress.com/2012/12/11/howtoanalysereactiontimertdatapart1/
 http://ron.dotsch.org/importinginquisitdatafilesintospsspasw/
 http://jeromyanglim.blogspot.com/2010/07/howtoprocessinquisitrawdatain.html
Once you've got the basics down, you should be able to (a) read and understand any existing SPSS syntax and (b) be able to modify it according to your needs.



AC


Group: Forum Members
Posts: 17,
Visits: 102

Hi again, for what I think its the final time. Surprisingly I seem to have sorted it out. It's great to know about the last function. Thanks for all of your help!


