Signal detection theory

Top  Previous  Next

Signal detection theory summaries

 

In general: classify as hits, misses, false alarms, correct rejections

       hit rate H = P(response | target)

               = hits/(hits+misses)

       false alarm rate F = P(response | non-target)

               = FAs/(FAs+CRs)

Yes/no tasks (Macmillan & Creelman, 1991, "Detection theory: A user's guide", Cambridge University Press, pp. 9 and 33):

               sensitivity d' = z(H) - z(F)

               bias or criterion c = -0.5[z(H) + z(F)]

               where z() is the inverse normal distribution function

Two-alternative-forced-choice (2AFC) tasks (Macmillan & Creelman, 1991, "Detection theory: A user's guide", p. 121):

               d' =  (1/sqrt(2))[z(H) - z(F)]

               c = as for yes/no tasks = -0.5[z(H) + z(F)]

               

The CPT is an example of a yes/no task (only one stimulus offered at one time).

               

Corrections for proportions of 0 and 1 (M&C1991 p10): several methods are possible; in our database query we'll use

               0 becomes 1/(2N)

               1 becomes 1 - 1/(2N)

 

Draft SQL query CPT_SDT:

       SELECT

               DateTimeCode,

               Subject,

               Box,

               ModuleNumber,

               Stage,

               AttemptAtStage,

               COUNT(*) as NumTrials,

               SUM(IIF(Hit,1,0)) as Hits,

               SUM(IIF(Miss,1,0)) as Misses,

               SUM(IIF(FalseAlarm,1,0)) as FalseAlarms,

               SUM(IIF(CorrectRejection,1,0)) as CorrectRejections,

               Hits/(Hits+Misses) As HitRate,

               FalseAlarms/(FalseAlarms+CorrectRejections) As FalseAlarmRate,

               IIF(HitRate=0,1/(2*NumTrials),IIF(HitRate=1,1-1/(2*NumTrials),HitRate)) as CorrectedHitRate,

               IIF(FalseAlarmRate=0,1/(2*NumTrials),IIF(FalseAlarmRate=1,1-1/(2*NumTrials),FalseAlarmRate)) as CorrectedFalseAlarmRate,

               InverseNormalCDF(CorrectedHitRate) AS Z_H,

               InverseNormalCDF(CorrectedFalseAlarmRate) AS Z_F,

               (Z_H-Z_F) AS D,

               -0.5*(Z_H+Z_F) AS C

       FROM

               CPT_Results

       GROUP BY

               DateTimeCode,

               Subject,

               Box,

               ModuleNumber,

               Stage,

               AttemptAtStage

       ;

 

For a two-alternative task (e.g. conditional visual discrimination), replace the bit in bold with

               (Z_H-Z_F)/SQR(2) AS D,

and change the source table appropriately.