对于在某些测试中R
,存在对一个下限p值的计算。我不确定为什么是这个数字,是否有充分的理由,或者它是任意的。许多其他统计信息包都可以使用0.0001
,因此精度更高。但是我没有看到太多的论文报告或。
报告此计算值是常见/最佳做法,还是报告其他内容(例如p < 0.000000000000001
)更典型?
对于在某些测试中R
,存在对一个下限p值的计算。我不确定为什么是这个数字,是否有充分的理由,或者它是任意的。许多其他统计信息包都可以使用0.0001
,因此精度更高。但是我没有看到太多的论文报告或。
报告此计算值是常见/最佳做法,还是报告其他内容(例如p < 0.000000000000001
)更典型?
Answers:
有充分的理由。
该值可以通过找到 noquote(unlist(format(.Machine)))
double.eps double.neg.eps double.xmin
2.220446e-16 1.110223e-16 2.225074e-308
double.xmax double.base double.digits
1.797693e+308 2 53
double.rounding double.guard double.ulp.digits
5 0 -52
double.neg.ulp.digits double.exponent double.min.exp
-53 11 -1022
double.max.exp integer.max sizeof.long
1024 2147483647 4
sizeof.longlong sizeof.longdouble sizeof.pointer
8 12 4
如果您查看帮助,则(?".Machine"
):
double.eps
the smallest positive floating-point number x such that 1 + x != 1. It equals
double.base ^ ulp.digits if either double.base is 2 or double.rounding is 0;
otherwise, it is (double.base ^ double.ulp.digits) / 2. Normally 2.220446e-16.
它本质上是低于你可以相当自信的价值将是非常值数值毫无意义-在任何较小的值不可能是我们正试图计算值的精确计算。(已经研究了一些数值分析,具体取决于通过特定过程执行了哪些计算,在此之上,数字无意义的可能性很大。)
但是统计意义早就已经丧失了。请注意,p值取决于假设,并且您越深入极端,真实p值(而不是我们计算的名义值)就越会受到错误假设的影响,即使在某些情况下,只是有点错误。由于不会完全满足所有假设,因此中等p值可能相当准确(就相对准确度而言,可能只是一个小数),但极小的p值可能会超出许多数量级。大小。
也就是说,通常的做法(例如,您说的“ <0.0001”在软件包中很常见,或者Jaap在其回答中提到的APA规则)可能与明智的做法相距不远,而是事情的大概时机。除了说“ 它非常小 ” 之外,它还会失去意义,当然,这取决于情况。
这就是为什么我不能建议一般规则的原因-不可能有一个规则甚至在所有情况下都适合所有人-稍微改变一下情况,用粗灰线标记从有意义的变化到相对的变化无意义的改变,有时会很长一段时间。
如果你指定有关确切的情况下足够的信息(例如,它是一个回归,与此多非线性,该变异在这个自变量量,这个种类和依赖量的误差项,是那种和异方差的量,这种形状的误差分布),我可以模拟“真实” p值以与标称p值进行比较,这样您就可以看到它们何时对于标称值而言太不同而无法表达任何含义。
但是,这引出了第二个原因,即使您指定了足够的信息来模拟真实的p值,即使在那种情况下,我仍然不能负责任地提出一个临界值。
您报告的内容取决于人们的喜好-您和您的听众。想象一下,你告诉我有足够的了解情况,我决定,我想在标称画线的10 - 6。
我们可能会认为一切都很好-除了您自己的首选项功能(您认为合适的是,您是否要查看统计数据包提供的标称p值与假设特定集合时模拟产生的p值之间的差异)假设失败的)可能把它在和要提交到可能把有自己的毯子规则在切断该杂志的编辑10 - 4,而下一期刊可能把它在10 - 3和下一步可能没有一般性规则,您所拥有的特定编辑者可能会接受比我给定的甚至更低的值...但其中一名裁判可能会因此而被拒绝参加比赛!
如果不了解他们的偏好功能和规则,也不了解您自己的实用程序,那么我该如何负责任地建议对要采取的行动进行一般性选择?
我至少可以告诉您我所做的事情(而且我根本不建议这对您来说是个不错的选择):
在少数情况下(除了模拟p值之外),我会使ap的值小于(我可能会或可能不会提及软件包报告的值,但除此以外我什么也不会做它很小,我通常会强调无意义的确切数字)。有时我取一个介于10 − 5至10 − 4范围内的值,并说p远小于该值。有时我实际上确实按照上述建议进行操作-执行一些模拟,以查看p值对各种违反假设的情况的敏感程度,特别是如果我担心某种特定的违反情况时。
这无疑有助于告知选择-但是我很可能讨论模拟结果,就像用它们来选择一个临界值一样,从而给其他人选择自己的机会。
模拟的一种替代方法是查看一些对假设的各种潜在失败更鲁棒*的程序,并查看可能对p值造成多少影响。它们的p值也不会特别有意义,但是它们至少可以使人对可能产生的影响有所了解。如果有些与名义上的有很大不同,那么它也给出了更多的想法,即对那些违反假设的情况进行调查以产生影响。即使您没有报告任何其他选择,它也可以更好地说明您的小p值的意义。
*请注意,这里我们实际上并不需要鲁棒的程序来应对严重违反某些假设的情况;那些受相关假设相对温和偏差影响较小的方法对于此练习应该是正确的。
我会说,当/如果确实要进行这样的模拟时,即使有相当轻微的违反,在某些情况下,即使不是那么小的p值也可能是错误的,这可能令人惊讶。这改变了我个人解释p值的方式,并且比改变我可能使用的特定临界值做得更多。
将实际的假设检验的结果提交给期刊时,我试图找出它们是否有规则。如果他们不这样做,我倾向于取悦自己,然后等待裁判员抱怨。
哪种常规做法可能取决于您的研究领域。美国心理学会(APA)的手册是最常用的引用方式之一,其中指出(第139页,第6版):
不要使用任何小于p <0.001的值
在具有大量数据的领域(例如基因组学和过程监控)中,此类极端p值更常见。在这些情况下,有时会报告为-log 10(p值)。例如,请参见《自然》中的该图,其中p值下降到1e-26。
我在JMP工作的统计学家将-log 10(p值)称为“ LogWorth”。
在R中,“ <2e-16”并不是字面上的<2e-16,而是它的值很小,以至于R无法记录或显示它。
在回归测试中,我经常得到p小至4.940656e-324,当它输出“ <2e-16”时,这个数字甚至小于4.940656e-324
<2e-16
,该值实际上小于2e-16
。
format.pval
或尝试使用,如中所示format.pval(1e-16)
。