d 具有 100% 命中率概率和 0% 误报概率的素数

机器算法验证 擅长 信号检测 d-素数
2022-03-16 15:10:49

我想为涉及检测新旧项目的记忆任务计算d prime 。我遇到的问题是一些受试者的命中率为 1 和/或误报率为 0,这使得概率分别为 100% 和 0%。

d prime的公式d' = z(H) - z(F),其中z(H)z(F)分别是命中率和误报率的 z 变换。

为了计算 z 变换,我使用 Excel 函数NORMSINV(即z(H)=NORMSINV(hit rate))。但是,如果命中率或误报率分别为 1 或 0,则该函数将返回错误。这是因为据我所知, z transform 表示 ROC 曲线下的区域,这在数学上不允许 100% 或 0% 的概率。在这种情况下,我不确定如何为具有最高表现的科目计算 d'。

一个网站建议用 1 - 1/(2N) 和 1/2N 替换 1 和 0 率,其中 N 是命中和误报的最大数量。另一个网站说“H 和 F 都不能是 0 或 1(如果是,请稍微向上或向下调整)”。这似乎是任意的。有没有人对此有意见或想向我指出正确的资源?

2个回答

Stanislaw & Todorov (1999)在“ Hit and False-Alarm Rates of Zero or One ”的标题下对此进行了很好的讨论

他们讨论了处理这些极端值的几种方法的优缺点,包括:

  • 使用非参数统计,例如A代替d(克雷格,1979)

  • 在计算统计数据之前汇总来自多个受试者的数据 (Macmillan & Kaplan, 1985)

  • 命中次数和误报次数加 0.5,信号试验次数和噪声试验次数加 1;被称为对数线性方法(Hautus,1995)(见下面的注释

  • 通过将 0 的比率替换为0.5/n和 1 的利率(n0.5)/n在哪里n是信号或噪声试验的次数 (Macmillan & Kaplan, 1985)

选择最终取决于您。我个人更喜欢第三种方法。第一种方法的缺点是A对更熟悉的读者来说不太容易理解d. 如果您对单一主题的行为感兴趣,则第二种方法可能不适合。第四种方法是有偏见的,因为您没有平等地对待数据点。

注意:在假设信号和噪声试验次数相等的情况下,对数线性方法要求向所有单元添加 0.5。如果不是这种情况,那么数字将有所不同。例如,如果有 60% 的信号试验和 40% 的噪声试验,那么您将在 Hits 数上加上 0.6,在信号试验数上加上 2x0.6 = 1.2,然后在误报数上加上 0.4,和 2x0.4 = 0.8 噪声试验次数等。

两个网站都提出了同样的建议,但其中一个网站提出了一种一致选择调整量的方法。这归因于许多人,但我认为没有人知道谁真正首先想到了它。不同的领域有不同的关于信号检测的开创性书籍或作者。重要的是你选择的方法是否合理。

您通常发布的一种方法是暗示如果您有一组更大的项目(2N),那么您将能够检测到至少一个错误。如果这是考虑问题的合理方式,那么您就完成了。我怀疑这是用于记忆测试。将来您可能希望提高 N 以确保这种情况发生的可能性要小得多。但是,如果您以不同的方式考虑该方法,则该方法是可以挽救的。您正在调整相同数量的内存项的两次运行的假设平均值。在这种情况下,您是说在另一轮实验中(假设新项目或他们忘记了所有旧项目)会出现错误。或者,更简单地说,您只是在您可以测量的最高不完美分数和完美分数之间选择一半。

这是一个没有简单通用解决方案的问题。您需要问的第一个问题是您是否相信,就您而言,您拥有真正完美的分类。在这种情况下,您的数据就是您的数据。如果不是,那么您认为这只是样本的可变性导致命中率为 100%。一旦你得出结论就是这样,那么你就必须考虑合理的方法来估计你认为的 d' 是什么。所以你必须问自己它到底是什么。

确定 d' 应该是什么的最简单方法是查看相同条件下的其他数据。您也许可以估计这个参与者的准确度介于您拥有的下一个最佳值和 100% 之间(结果可能与您找到的值完全相同)。或者,它可能会更大一些。或者它可能只是等于最佳值。您必须根据您的数据选择您认为的最佳答案。发布的更具体的问题可能会对您有所帮助。

您应该尝试确保您所做的是对标准的影响尽可能小。在您的情况下,对命中和 FA 的调整将导致标准根本不改变。但是,如果您在 FAs = 0.2 时调整命中,那么您必须小心该调整将如何影响标准的解释。在这种情况下,您有义务确保点击率非常高。