Millisecond Online Community

Forums & Feeds
Welcome to Millisecond Online Community Sign in | Join | Help
in Search

Scoring

Last post 07-21-2008, 1:04 AM by Dave. 1 replies.
Sort Posts: Previous Next
  •  07-20-2008, 5:34 AM 1728

    Scoring

    Hi All,

    We have created a ST-IAT with one practice block and two test blocks for our experiment. We are already able to run the program, but we think there is something wrong with the scoring. However, every time we take the test, the scoring turns out to be zero (regardless of the amount of mistakes and/or reaction times). Is there anybody who can help us?

    Lieke & Eline

  •  07-21-2008, 1:04 AM 1729 in reply to 1728

    Re: Scoring

    Hi Lieke & Eline,

    without actually having your script at hand, that question is really hard to answer. So, I assume that you've modified an existing script for the ST-IAT, i.e. the one available at this site. The scoring routine might have been affected by removing the blocks it relies on. In the original, the scoring magic happens here:

    ***********************************************************************
    Scoring
    ***********************************************************************
    <values>
    / sum1a = 0
    / sum2a = 0
    / sum1b = 0
    / sum2b = 0
    / n1a = 0
    / n2a = 0
    / n1b = 0
    / n2b = 0
    / ss1a = 0
    / ss2a = 0
    / ss1b = 0
    / ss2b = 0
    / magnitude = "unknown"
    </values>

    * 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
    / attitude = "unknown"
    </expressions>

    At the beginning, all values are initialized as 0. This is probably why you always get 0 as your result in the adapted script. The values are updated by the /ontrialend attributes of the <block> elements. Clearly, the final d-value is computed from results from 2 compatible and 2 incompatible blocks. You only have 1 compatible and 1 incompatible block. So, you'll simply have to adapt the scoring to your modified procedure in order to make it work correctly.

    Hope this gives you a starting point.
    ~Dave
View as RSS news feed in XML
Powered by Community Server, by Telligent Systems