d 素数表示误报率大于 R 中的命中率

d prime for false alarm rate greater than hit rate in R

我从一个显然相当困难的 ABX 任务中收集了一些数据。我打算使用 psyphy::dprime.ABX,但收到错误 Only valid for Pc.unb > 0.5.

例如,一个参与者的命中率为 0.486,误报率为 0.569,因此 psyphy::dprime.ABX(.486, .569) returns 以上错误。

问题:

  1. 这样的d个素数可以用psyphy计算吗?
  2. 有人建议翻转 hits 和 FA 并改变结果的符号。这有效吗?
  3. 有人知道在这种情况下计算 ABX d 素数的首选方法吗?

提前致谢。

所以我们从贝叶斯定理开始:

P(yes|present) P(present)  = P(yes|absent) P(absent)

然后

P(yes|present) = P(yes|absent) P(absent)/P(present)

因此,如果 Hits (P(yes|present)) 和 Fa (P(yes|absent)) 几乎相同,那么 P(absent) 和 P(present) 也几乎相同。这样的情况是不是就像掷一枚正确的硬币。

函数源码: https://github.com/cran/psyphy/blob/5b170ead1580c09c1359b2db3855514d71f4420d/R/dprime.ABX.R

你的P.unb:

> Hits = .486
> FA = .569                      
> zdiff <- qnorm(Hits) - qnorm(FA)
> Pc.unb <- pnorm(zdiff/2)
> Pc.unb
[1] 0.4584004

预期的 Pc_unb 应至少为 0.5。 因此该算法不适用于 Hits < FA 的情况。 在这种情况下,我们无法从该主题获得任何有价值的反馈。在我看来,假设此类情况的值为零可能是一个正确的决定。这是对某些科目的评估,因此其余科目仍应提供一些有价值的数据。然后,如果数据是 zaero-inflated 模型,则可以使用 zero-inflated 回归。

Ps.

您始终可以直接提供 Pc_unb:

> psyphy::dprime.ABX(Pc.unb = 0.5)
[1] 0
> psyphy::dprime.ABX(Pc.unb = 0.51)
[1] 0.3319297
> psyphy::dprime.ABX(Pc.unb = 0.52)
[1] 0.4723176
> psyphy::dprime.ABX(Pc.unb = 0.53)
[1] 0.5821447