小さな


63

の一部のテストでRは、の計算に下限があります。正当な理由がある場合、または単にarbitrary意的なものである場合、なぜこの数字なのかわかりません。他の多くの統計パッケージはに移動するだけなので、これははるかに高いレベルの精度です。しかし、または報告している論文はあまり見ていません。2.2210160.0001p<2.221016p=2.221016

この計算値を報告するのは一般的/ベストプラクティスp < 0.000000000000001ですか、それとも他の何か(など)を報告するのがより一般的ですか?


このような小さなp値を取得し、実際のp値を計算する場合は、この関数をexcel = TDIST(t、df、2)で使用できます。「t」とdfの値を追加すると、実際のp値ta

7
@Tahzeebがあります任意の Excelがより正確な見積もり、その後Rを返す理由は..?私の知る限り、それはずっと正確ではありません
ティム

...But I haven't seen too many papers reporting p<2.22⋅10−16....いくつかのGWASの論文を参照してください。例:前立腺がんKLK領域、p = 9x10 ^ -186のp値の結果を示す多くの論文があります。
zx8754

1
:ここ答えるwhuberも参照してくださいstats.stackexchange.com/questions/11812を
アメーバは、モニカを復活させる

回答:


87

それには十分な理由があります。

値は次の方法で見つけることができます 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ルール)は、おそらく賢明なプラクティスからそれほど遠くなく、おおよそのポイントです「それは非常に小さい」と言うこと以上に意味を失います。もちろん、状況によってかなり異なります。

これが、一般的なルールを提案できない理由の1つです。あらゆる状況のすべての人にリモートでさえ適した単一のルールはあり得ません。意味のないものは、時には長い道のりで変わります。

あなたが(それは回帰だ例えば、正確な状況についての十分な情報を指定した場合、このくらいの非線形性、つまりこの独立変数の変化量、この誤差項で種類や依存性の量、それの種類及び不均一の量、このエラー分布の形)、「真の」p値をシミュレートして名目上のp値と比較することができるため、名目値では意味が伝わらないほど異なっていたことがわかります。

しかし、それが、真のp値をシミュレートするのに十分な情報を指定したとしても、そのような状況でさえ責任を持ってカットオフを述べることができなかった2番目の理由につながります。

あなたが報告するものは、あなたの好み、そしてあなたの聴衆によって異なります。私は、公称で線を引くために望んでいたことを決定するためにあなたが事情について十分な私に言った想像10 - 6p106

あなた自身の好み関数を除いて、あなたは統計パッケージによって与えられた名目上のp値と特定のセットを仮定したときのシミュレーションから得られたp値の違いを見たのですか?仮定の失敗)を置き、提出したいジャーナルの編集者は10 4で遮断するブランケットルールを持ち、次のジャーナルは10 3に置き、 nextには一般的なルールがなく、得た特定のエディターは私が与えた値よりもさらに低い値を受け入れるかもしれません...105104103

好みの機能やルールに関する知識がなく、またあなた自身のユーティリティに関する知識がない場合、どのような行動をとるかの一般的な選択を責任を持って提案するにはどうすればよいですか?

少なくとも、私がしていることの種類を話すことができます(そして、これがあなたにとって良い選択であることはまったくお勧めしません):

私はより少ないAPの多くなるだろうした(p値をシミュレートする外)いくつかの事情がある(私はしてもしなくてもよいパッケージによって報告された値を挙げることができるが、私はよりそれの何が他のことはないだろうそれは非常に小さかったので、通常は正確な数の無意味を強調します)。時々私はどこかの地域での値をとる10 - 510 - 4およびpはそれよりもはるかに少なかったと言います。時々私は実際に上記のように行います-いくつかのシミュレーションを実行して、特に私が心配している特定の種類の違反がある場合、仮定のさまざまな違反に対してp値がどれだけ敏感であるかを確認します。106105104

これは確かに選択肢を知らせるのに役立ちますが、シミュレーションの結果を使用してカットオフ値を選択し、他の人が自分で選択する機会を与えるのと同様に、シミュレーションの結果を議論する可能性があります。

シミュレーションに代わる方法は、仮定のさまざまな潜在的な失敗に対してより堅牢な*手順を調べ、p値にどの程度の差が生じるかを調べることです。それらのp値も特に意味はありませんが、少なくともどれほどの影響があるかについてある程度の感覚を与えます。いくつかが名目上のものと非常に異なる場合、それはまた、どの仮定の違反が影響を調査するかについてのより多くのアイデア提供します。これらの選択肢のいずれも報告しなくても、小さなp値がどれほど有意義であるかをよりよく把握できます。

*ここでは、何らかの仮定の重大な違反に対して堅牢な手順は実際には必要ないことに注意してください。関連する仮定の比較的軽度の偏差による影響が少ないものは、この演習では問題ないはずです。

非常に穏やかな違反であっても、そのようなシミュレーションを行うようになった場合/そうする場合、場合によっては、それほど小さいp値でさえ間違っている可能性があることに驚くことがあります。これは、使用する可能性のある特定のカットオフをシフトするよりも、個人的にp値を解釈する方法を変更するためにより多くを行いました。

実際の仮説検定の結果をジャーナルに提出するとき、それらにルールがあるかどうかを調べようとします。そうでない場合、私は自分自身を喜ばせ、レフェリーが文句を言うのを待ちます。


11
私は、統計的意味に関するコメントがはるかに早く失われていることを特に気に入っています。
usεr11852は回復モニック言う

素晴らしい答えです!これに関するすべての詳細に感謝します。Rがこの数を与える理由が明らかになります。しかし、それは実際に何を報告するかという質問には答えません。
ポール

1
むしろ、具体的な提案をする責任がない理由を説明したという意味で、私はむしろこの問題に取り組んだと感じました。一部のパッケージでは一般的な慣行である「<0.0001」のようなものを報告するのが理にかなっている理由について説明していることに注意してください。特定の数を提案しないのにはいくつかの理由があります-最初に与えたものです。その理由と、編集の2番目の理由について説明します。
Glen_b

ポール、私はいくつかのより実質的な議論を追加しました。
Glen_b

2
はい、何かする必要があります。私のより広範な解説のポイントは、あなたが何を選択すべきかを伝えることができないことを伝えることでした。私はあなたが選んだ問題についてのみ議論することができます。私はそうしたことを望みますが、できればさらに問題を明確にしようとすることを喜んでいます。
Glen_b

27

一般的な方法は、研究分野によって異なります。最もよく使用される引用スタイルの1つであるアメリカ心理学会(APA)のマニュアルには次のように記載されています(p。139、第6版)。

p <0.001より小さい値は使用しないでください


8
これも私が通常引用するものです(+1)が、PNASのValen Johnsonの最近の推奨を考えると、この推奨を小数点以下1桁に修正する必要があるかどうかはわかりません。 ...]。非常に重要なテスト結果を0.001未満のP値に関連付けます。」
ヘンリック

3
いい答えだ。少なくともp値については、私の分野にはスタイルガイドも実際の標準もありません。私は学際的な仕事をしていますが、コンピューターサイエンスとHCIがこの分野になると思います。メソッドは一般に認知心理学やAPAがカバーする他の分野から借用されているため、著者はAPAスタイルが著者の方向を変えると思います。
ポール

10
5σp<106

1
5σzpp0.0001zp

@amoebaうん、あなたは正しいと思う。
Glen_b

14

このような極端なp値は、ゲノミクスやプロセスモニタリングなど、非常に大量のデータを持つフィールドで頻繁に発生します。これらの場合、-log 10(p-value)として報告されることがあります。たとえば、Natureのこの図を参照してください。p値は1e-26になります。

-log 10(p-value)は、JMPで働いている統計学者によって「LogWorth」と呼ばれています。


22
ppp

8
@BenBolker確かに、「NSAがデータを改ざんした」よりも確率は低いですが、「宇宙線がデータ内のいくつかの重要なビットを反転させた」というようなイベントでさえ、それらの確率よりはるかに高い確率です。
Glen_b

6
p<10100ρ0.9n500

8
p=2.2×10226

9
@amoeba以上スレートスターコーデックスのコメント欄では、ダニエル・ウェルズは指摘していることscience.sciencemag.org/content/363/6425/eaau1043が(「ないタイプミス、2 3.6e-2382のp値を報告ダニエルは言います、」 )、それはあなたのものをかなりマージンで打ちます!
マークアメリー

-3

Rでは、「<2e-16」は文字通り<2e-16を意味しませんが、代わりに、値が非常に小さいため、Rが記録または表示できません。

回帰テストでは、pが4.940656e-324になることがよくあります。「<2e-16」を出力すると、これは4.940656e-324よりもさらに小さい数値になります。


どの番号が「4.940656e-324よりも小さい」のですか?
スベンホーエンシュタイン

8
Rの「<2e-16」という文は、文字通り<2e-16が間違っているという意味ではありません。Rが表示されるとき<2e-16、値2e-16文字通りより小さいです。
スベンホーエンシュタイン

あなたは私が言ったことを誤解しました。Rが「<2e-16」と言ったとき、p値は2e-16より小さいですが、2e-16より小さいp値が「<2e-16」として表示されることを意味しません。私が示したように、左の境界は2 ^ -1074であるのに、[4.940656e-324、2e-16]の間の任意の数のlmサマリーp値を表示するのに問題はありません。したがって、p値が2 ^ -1074より小さい場合にのみ、Rはp値が小さなデルタ値より小さいと仮定します。Rがこのデルタ値を2e-16として表示することが起こります。だから私の推測では、 "<2E-16"が実際に意味ある"<2 ^ -1074" p値で
user3590816

6
しかし、あなたの推測は間違っています。それが@Svenがあなたに伝えようとしていることです。のヘルプを参照するformat.pvalか、単に試してくださいformat.pval(1e-16)
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.